- 1、本文档共11页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据结构报告书
目录
功能描述·····················································2
概要设计·····················································2
详细设计·····················································3
运行效果·····················································8
心得体会···················································· 10
功能描述
1、利用链表的插入运算建立线性链表,然后实现链表的查找、插入、删除、计数、输出、排序、逆置等运算,并能在屏幕上输出操作前后的结果。
2.概要设计
2.1链表创建:逆序建立一个单链表,输入链表中要存储的信息。
2.2数据输出:实现对单链表中数据的输出。
2.3数据查找:查找单链表中指定位置的数据并输出其位置和数据。
2.4数据插入:实现向单链表中插入数据,插入时需输入要插入的位置和要插入的数据。
2.5数据删除:实现对单链表中指定位置的数据的删除,删除数据时需要输入要删除数据的位置。
2.6 数据计数:实现对链表的计数,并返回其值。
2.7 数据排列:实现对单链表中的数据进行从小到大排列。
2.8 数据逆置:对单链表中的数据的位置进行逆置,即,使其输出顺序颠倒。
表 2.1 功能模块关系图
3.详细设计
3.1 主界面:
链表主界面上显示该程序所能实现的功能:创建链表、插入、删除、查找、计数、排序、逆置、退出,它们分别对应1~8的序号,当要执行某项功能时,输入该功能前面所对应的序号。
3.2 链表创建:
本程序用的是逆序创建链表的方法。建立线性表的链式存储结构的过程就是一个动态生成链表的过程,即从“空表”的状态起,依次建立个元素结点,输入结点的值并逐个插入链表。每建立一个结点就把头指针的指针域的值给新建的结点,然后头指针再指向该结点,循环执行,即把后建立的结点插入到前面,链表就逆序建成了。
在屏幕上输入“1+回车”实现该功能。程序如下:
void CreatList(Lnode *L)
{
Lnode *p;
int e,i,n;
L-next=NULL;
printf(yuan su ge shu: );
scanf(%d,n);
printf(\nqing ni xu shu ru lian biao yuan su:\n);
for(i=n;i0;--i)
{
scanf( %d,e);
p=(Linklist)malloc(sizeof(Lnode));
p-data=e; p-next=L-next; L-next=p;
}
}
3.3数据输出:
定义一个指针,指向链表头结点的下一结点,如果为空,则输出“链表为空”;否则,运用while循环,输出链表中各元素的值,并将指针指向下一结点,直到链表为空。
程序如下:
void PrintList(Lnode *L)
{
Lnode *p=L-next;
if(p==0)
printf(lian biao wei kong);
else
printf(mu qian lian biao wei: );
while(p)
{
printf(%d , p-data);
p=p-next;
}
printf(\n);
}
3.4数据查找:
从头指针出发,顺链域next 逐个结点往下有哪些信誉好的足球投注网站,直到有哪些信誉好的足球投注网站到第 i 个结点并返回其值,如果结点位置出错,则返回0。
在屏幕上输入“2+回车”实现该功能。程序如下:
Status GetElem_L(Lnode *L, int i)
{
Lnode *p=L - next;
int j=1 ; int e;
while ( p j i )
{ p = p-next; ++j; }
if ( !p || j i ) return 0;
e = p -data; return e;
}
3.5数据插入:
在单链表中第i个位置之前插入数据之前,首先要运用while语句找到第i-1个位置,如果结点位置超出或输入错误,则返回0;否则,建立一个新的结点并
文档评论(0)