欢迎来到天天文库
浏览记录
ID:25643338
大小:150.00 KB
页数:20页
时间:2018-11-21
《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
此文档下载收益归作者所有