大连工业大学数据结构单链表课程设计设计报告.pdfVIP

  • 11
  • 0
  • 约3.41万字
  • 约 28页
  • 2017-06-28 发布于浙江
  • 举报

大连工业大学数据结构单链表课程设计设计报告.pdf

大连工业大学数据结构单链表课程设计设计报告

《数据结构》课程设计报告 1)需求分析 此程序主要用来实现单链表的创建、插入、删除、排序、并、交、差 运算及输出等基本操作。 程序需要根据使用者的需要来运算得出符合要求的结果 ①在程序运行的过程中根据提示进行输入,使用了scanf 函 数; ②使用了printf 函数进行输出; ③程序输出符合使用者的需要的结果; ④程序能够输出任意运算的正确结果。 2)概要设计 1. 定义所需的数据结构 data *next typedef struct LNode{ int data; //数据域 struct LNode *next; //指针域 }LNode, *LinkList; 2. 模块划分 void LinkListCreat(LinkList L,int n); //创建 void ListInsert(LinkList head,int i,int e); //插入 void ListDelete(LinkList head,int i,int e); //删除 void printList(LinkList head); //输出 void LinkListsort(LinkList L); //排序 void LinkListMerge(LinkList La, LinkList Lb,LinkList Lc); // 并 void LinkListJiao(LinkList La, LinkList Lb,LinkList Lc); //交 1 void LinkListcha(LinkList La, LinkList Lb,LinkList Lc); // 差 void LinkListhebing(LinkList La, LinkList Lb,LinkList Lc); //差集的并 void main(); //主函数,分别调用以上的子函数 3 .功能设计 首先利用元素逆序插入法建立链表,然后导出菜单,用switch 调用各个子函数,实现链表的创建,插入,删除,排序,交,并, 差等运算,其中排序用的是冒泡法。 3)详细设计 //单链表的创建 void CreatList(Lnode *L) /*建立链表CreastList 函数*/ { Lnode *p; int value; L-next=NULL; 当输入非 数值时 while (1) /* 0 */ {scanf( %d,value); if (value==NULL) return; 建立 链表 p=(Lnode *)malloc(sizeof(Lnode)); /* P */ p-data=value; p-next=L-next; /*把后输入的插到前面*/ L-next=p; } } //单链表的输出 void printList(Lnode *head) { printf(输出的结果如下: \n); Lnode *p = head-next;//头结点赋给P if (p == NULL) { printf(List is empty!\n); return; 2 }

文档评论(0)

1亿VIP精品文档

相关文档