合肥学院数据结构实验报告.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
合肥学院数据结构实验报告

合肥学院 数学与物理系 实验报告 课程名称: 数据结构与算法语言 实验项目: 顺序表、链表、栈和队列的应用 实验类别: 综合型 学生姓名: 学 号: 专业班级: 实验时间: 2012.02.12——2012.04.05 指导教师: 邵桂伟 实验成绩: 一、实验目的: 1.了解顺序表的建立及使用; 2.了解链表的结构,掌握其使用方法; 3.熟悉栈的应用。 二、实验要求: 1.根据具体问题实现顺序表的查找并输出; 2.根据具体问题掌握循环单链表的操作应用; 3.根据具体问题实现栈及队列的操作应用。 三、实验内容: 1.程序实现顺序表的查找(查找成功、不成功两种情况)。 2.程序实现循环单链表的建立、插入元素和删除。 3.程序实现查找一元素,用栈和队列分别实现。 四、数据结构: 1. 顺序表的查找 typedef struct { int key; int other; }recordtype; typedef struct { recordtype r[list_size]; int length; }recordlist; 2. 循环单链表的建立、插入元素和删除 typedef struct LNode{ int data; struct LNode *next; }LNode,*LinkList; 3. a).队列实现查找元素 #define maxlen 100 typedef struct { datatype data[maxlen]; int front; int rear; }SeqQueue; b). 栈实现查找元素 typedef struct{ int data[100]; int top; }SqStack; 五、源程序及结果: 1. (1)源程序) #includestdio.h #define LIST_SIZE 10 typedef struct { int key; int other; }Recordtype; typedef struct { Recordtype r[LIST_SIZE]; int length; }Recordlist; void main() { Recordlist p,*L=p; int i,x,n=0; L-length=10; printf(请输入10个数:\n); for(i=0;iL-length;i++) scanf(%d,L-r[i].key); printf(请输入待查元素:\n); scanf(%d,x); for(i=0;iL-length;i++) if(L-r[i].key==x) n=i; if(n==0) printf(没有找到该元素); else printf(位置是:%d,n); } (2)运行结果(可以使用截图) 2. (1)源程 #include stdio.h #include stdlib.h #include malloc.h typedef struct node{ int data; struct node *next; }* linklist,LNode; int main() { linklist L,newp,p,q,s; int i,n,e,j=1,t; L=(linklist)malloc(100*sizeof(LNode)); (*L).next=NULL; printf(\n表长:); scanf(%d,n); printf(\n表元素:); p=L; for(i=0;in;i++) { newp=(linklist)malloc(sizeof(LNode)); scanf(%d,newp-data); p-next=newp; p=p-next; } p-next=NULL; printf(\n建立的链表:); s=L-next; while(s!=NULL) { printf(%3d,s-data); s=s-next; } printf(\n\n请输入要插入的元素:); scanf(%d,e); q=L; p=(*L).next; while(p!=N

文档评论(0)

xy88118 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档