2013级本科数据结构实验指导书

2013级本科数据结构实验指导书

ID:25643338

大小:150.00 KB

页数:20页

时间:2018-11-21

2013级本科数据结构实验指导书_第1页
2013级本科数据结构实验指导书_第2页
2013级本科数据结构实验指导书_第3页
2013级本科数据结构实验指导书_第4页
2013级本科数据结构实验指导书_第5页
资源描述:

《2013级本科数据结构实验指导书》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、《数据结构与算法》实验指导书20--实验一线性表的实验一、实验目的1、掌握用VisualC++6.0上机调试顺序表的基本方法。2、掌握顺序表的基本操作,插入、删除、查找、以及有序顺序表的合并等算法的实现。3、掌握用VisualC++6.0上机调试单链表的基本方法。4、掌握单链表的插入、删除、查找、求表长以及有序单链表的合并算法的实现。5、进一步掌握循环单链表和双链表的插入、删除、查找算法的实现。二、实验内容(一)完成下列程序,该程序生成一个如表1所示的顺序表,并在第2个位置插入如表2所示的数据元素,删除在第3个位置的数据元素,显示顺序表的每个元素。要求生成顺序表

2、时,从键盘上读取数据元素,用顺序存储结构实现存储。表1学号姓名性别年龄2013001张珊女192013002李思女192013004王强男202013005赵括男212013006刘刚男20表22013003陈琪女19typedefstruct{DataTypelist[MaxSize];intsize;}SeqList;voidListInitiate(SeqList*L){L->size=0;/*定义初始数据元素个数*/}intListLength(SeqListL){returnL.size;}intListInsert(SeqList*L,inti,Da

3、taTypex){intj;for(j=L->size;j>i;j--)L->list[j]=L->list[j-1];L->list[i]=x;/*插入x*/L->size++;/*元素个数加1*/return1;}intListDelete(SeqList*L,inti,DataType*x)20--{intj;*x=L->list[i];/*保存删除的元素到x中*/for(j=i+1;j<=L->size-1;j++)L->list[j-1]=L->list[j];L->size--;/*数据元素个数减1*/return1;}intListGet(SeqL

4、istL,inti,DataType*x){if(i<0

5、

6、i>L.size-1){printf("参数i不合法!");return0;}else{*x=L.list[i];return1;}}(二)已知顺序表la和lb中的数据元素按非递减有序排列,将la和lb表中的数据元素,合并成为一个新的顺序表lc,要求lc中的数据元素仍按非递减有序排列,并且不破坏la和lb表。(三)完成下列程序,该程序构建如表3所示的带头结点的单链表h,在单链表h中第3个数据元素之前插入如表4所示的数据元素,删除第4个数据元素。要求生成单链表时,从键盘上读取数据元素,用链式存储结构实

7、现存储。表3员工编号姓名性别职位001张珊女文员002李思女销售员004王强男经理005赵括男秘书006刘刚男文员表42013003陈琪女19typedefstructNode{DataTypedata;structNode*next;}SLNode;voidListInitiate(SLNode**head){*head=(SLNode*)malloc(sizeof(SLNode));(*head)->next=NULL;}intListLength(SLNode*head){SLNode*p=head;intsize=0;20--while(p->next!

8、=NULL){p=p->next;size++;}returnsize;}intListInsert(SLNode*head,inti,DataTypex){SLNode*p,*q;intj;p=head;j=-1;while(p->next!=NULL&&jnext;j++;}if(j!=i-1){printf(“插入位置参数错!”);return0;}q=(SLNode*)malloc(sizeof(SLNode));q->data=x;q->next=p->next;p->next=q;return1;}intListDelete(S

9、LNode*head,inti,DataType*x){SLNode*p,*s;intj;p=head;j=-1;while(p->next!=NULL&&p->next->next!=NULL&&jnext;j++;}if(j!=i-1){printf(“插入位置参数错!”);return0;}s=p->next;*x=s->data;p->next=p->next->next;free(s);return1;}intListGet(SLNode*head,inti,DataType*x){SLNode*p;intj;p=head;j=-

10、1;while(p->n

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

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

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