- 1、本文档共36页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《数据结构》课程设计报告
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); 排序//
// Lc); Lb,LinkList La, LinkListMerge(LinkList void LinkList
并 void LinkListJiao(LinkList La, LinkList Lb,LinkList Lc); 交// 1
// La, LinkList Lb,LinkList Lc); void LinkListcha(LinkList
差 //差集的并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)
{
牰湩晴尨输出的结果如下: \n);
Lnode *p = head-next;//头结点赋给P
if (p == NULL)
{
printf(List is empty!\n);
return;
2
}
while (p != NULL)
{
printf(%d , p-data);
p = p-next;
}
printf(\
);
}
//单链表的插入
void ListInsert(LinkList head,int i,int e)//在单链表中第i个位置之前插入e元素
{
LinkList p,s;
int j=0;
p=head;
while(pji-1)//找到要插入的位置
{
p = p-next;
++j;
}
if(!p||ji-1)
{
); 牰湩晴尨 要插入的位置错误!}
给插入的元素开辟空间 s = (LNode *)malloc(sizeof(LNode));// 改变指针指向 s-data = e;//s-next = p-next;
p-next = s;
}
//单链表的删除
int ListDelete_L(Lnode *L,int i) /*删除函数*/
3
{
Lnode *p=L-next;
您可能关注的文档
最近下载
- 2025年高等教育自学考试自考《计算机应用基础》知识点试题集精析.docx VIP
- 四年级下册科学实验报告(已填好)2021新苏教版.docx
- 组织开展全市反校园欺凌和暴力专项整治行动实施方案.doc VIP
- 生物信息学课程教案.pdf
- 【13页】最新药品生产技术专业职业生涯规划书4600字数.pdf VIP
- 党员2025年转正申请书参考8篇.doc VIP
- 2024年辽宁医药职业学院高职单招(英语/数学/语文)笔试历年(2016-2023年)真题荟萃带答案解析.docx
- 新目标大学英语(第二版)视听说教程 第4册 参考答案.pdf
- 城镇燃气输配工程施工及验收标准 GB_T51455-2023.docx VIP
- 中外历史纲要下 第三单元走向整体的世界教案.docx
文档评论(0)