顺序表实-链表实现;多项式求与-约瑟夫环.docVIP

  • 9
  • 0
  • 约4.27千字
  • 约 11页
  • 2018-06-28 发布于上海
  • 举报

顺序表实-链表实现;多项式求与-约瑟夫环.doc

《数据结构C》课程实验报告 课程实验题目: 线性表的实现及应用 学 院: 自动化学院 班 级: 学 号: 姓 名: 指导教师姓名: 陈 燕 完 成 时 间 : 2018-4-18 设计目的 熟悉线性表和链表的创建和应用。 二. 设计内容 (1) 顺序表的实现; (2) 链表的实现; (3) 多项式求和; (4) 约瑟夫环。 三.概要设计 1.功能模块图; 2.各个模块详细的功能描述; 1,顺序表的实现: 结构体:定义数据域以及长度 创建:用户输入顺序表的长度,然后循环输入数据。 main:调用创建函数 2,链表的实现: 结构体:声明节点的数据域和指针域。 创建:根据传的数组参数创建链表结构。 main:将用户输入的数据拿数组接收,调用创建函数时传给该函数。 3,多项式求和: 结构体:定义两个数据域分别存储多项式的系数和指数,以及一个指针域。 创建:创建链式结构。 求和函数:根据传入的未知数x的值,计算求和。 main:键入多项式元素的个数然后调用创建函数,将x的值传给求和函数,接受返回值。 4,约瑟夫环: 结构体:声明数据域和指针域。 创建:创建循环链表。 main:输入环的节点个数以及出队的间隔。循环遍历?,直到环上只有一个节点。 3.功能函数的调用关系图. (1)顺序表的实现 (2)链表的实现 (3)多项式求和 (4)约瑟夫环 四.详细设计 主要功能函数的数据流程图; (1)顺序表的实现 (2)链表的实现 (3)多项式求和 (4)约瑟夫环 重点设计及编码。 顺序表的实现 1声明结构体,有一个int类型的数组和长度。 typedef struct{ int data[20]; int length; }SeqList; 2根据输入的个数,循环输入数据来创建。 SeqList create(SeqList L){ int num; printf(输入创建的元素个数:); scanf(%d,num); for(int i=0;inum;i++){ printf(请输入第%d个元素:,i+1); scanf(%d,L.data[i]); L.length++; } print(L); return L; } 3增删改查 void add(SeqList L){ int next; printf(输入要添加的元素:); next=L.length; scanf(%d,L.data[next]); L.length++; printf(添加成功:\n); print(L); } void del(SeqList L){ print(L); int delNumber; printf(输入要删除第几个元素:); scanf(%d,delNumber); for(int i=delNumber;iL.length;i++){ L.data[i-1]=L.data[i]; } L.length--; printf(删除成功:\n); print(L); } void modify(SeqList L){ printf(输入要修改第几个元素和新数值:); int index,num; scanf(%d%d,index,num); L.data[index-1]=num; printf(修改成功:\n); print(L); } int select(SeqList L){ printf(输入要查询第几个元素:); int index; scanf(%d,index); print

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档