太原理工大学软件学院《数据结构B》--实验指导书-杨永强

太原理工大学软件学院《数据结构B》--实验指导书-杨永强

ID:45794723

大小:51.29 KB

页数:26页

时间:2019-11-17

太原理工大学软件学院《数据结构B》--实验指导书-杨永强_第1页
太原理工大学软件学院《数据结构B》--实验指导书-杨永强_第2页
太原理工大学软件学院《数据结构B》--实验指导书-杨永强_第3页
太原理工大学软件学院《数据结构B》--实验指导书-杨永强_第4页
太原理工大学软件学院《数据结构B》--实验指导书-杨永强_第5页
资源描述:

《太原理工大学软件学院《数据结构B》--实验指导书-杨永强》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、太原理工大学软件学院《数据结构B》一实验指导书-杨永强《数据结构B》实验指导书鉄y衣%计算机科学与技术学院计算机科学与技术系2011年09月实验一线性表1实验二树5实验三图7实验四查找11实验五内排序13实验一线性表【冃的与要求】本次实习的主要目的是为了使学工熟练掌握线性表的基本操作在顺序存储结构和链式存储结构上的实现,提高分析和解决问题的能力。要求仔细阅读并理解下列例题,上机调试并编译执行通过,并观察具结果,然后独立完成后面的实验内容,写岀完整的实验报告。编写程序过程屮注意养成良好的编程风格与习惯,要求程序结构淸晰,程序缩进,适当注

2、释。【参考例题】[问题描述]用链表形式存储一个字符串,插入、删除某个字符,最后按正序、逆序两种方式输出字符串。[输入]初始字符串,插入位置,插入字符,删除字符。[输出]U建立链表(字符串),插入字符后链表,删除字符后链表,逆转后链表。[存储结构]采用链式存储结构[算法的基本思想]建立链表:当读入字符不是结朿符时,给结点分配存储空间,写数据域,将新结点插到表尾;插入字符:根据读入的字符在链表中找插入位置,将新结点插入到该位置Z前;删除字符:根据读入的删除字符在链表中找到被删结点后,将其从链表屮删除;链表逆转:从链表的第一个结点开始対所冇

3、结点处理,将每个结点的前驱变为它的后继;打印链表:从链表的第一个结点开始,依次打印各个结点的数据域。[参考源程序]#defineNULL0typedefstructnode{chara;structnode*link;}node,*nodelink;voidrcadlink(nodelinkhead){nodelinkp,q;charc;p二head;printf(Z/Inputalinktable(astring):〃);scanf&c);if(c==,)printf("Thisstringisempty。“);while(c!

4、二'){q=(nodelink)malloc(sizeof(node));q->a=c;p->link二q;-1-P二q;scanf("%c",&c);}p->link二NULL;}voidwritelink(nodclinkhead){nodelinkq;for(q=head-if(head->link==NULL)printf("Thislinkisemptyo");>link;q;q=cr>link)printf(〃%c〃,q->a);printfCAn");}intinsert(nodelinkhead,charkl,

5、chark2){nodelinkp,q;p=head->link;while(p->a!=kl&&p)p=p->link;if(p){q=(nodelink)malloc(sizeof(node));q->a=k2;q->link=p->link;p->link=q;return1;}else{printf(,?Thereisno%c",kl);return0;}iintdelete(nodelinkhead,chark){q=head;p二head-〉link;while(((p->a)!=k)&&p){q二q->link;p=

6、p->link;!if(p){q->link二p->link;return1;}else{printf(zzThereisno%c",k);return0;-2-iivoidopside(nodclinkhead){nodelinkp,q;p=head->link;while(p->link){q二p-〉link;p->link=q->link;q->link二hcad->link;main()charkl,k2,k3;nodelinkhead;head二(nodelink)malloc(sizeof(node));head->l

7、ink-NULL;readlink(head);if(head->link!=NULL){printf(''Buildlinkis:〃);writelink(head);}if(head-〉link!二NULL){printf(Z/Pleaseinputacharyouwanttoinsertprintf(〃%crT,kl);printf(Z/Pleaseinputacharyouwanttoinsertprintf("%c",k2);if(insert(head,kl,k2)){printf("'After%cinsert%c

8、,linkis:kl,k2);writelink(head);}after/');kl=getch();”);k2=getch();printf(Z/Pleaseinputacharyouwanttodelete”);k

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。