数据结构实验报告(同名10801).doc

数据结构实验报告(同名10801).doc

ID:52199565

大小:100.50 KB

页数:10页

时间:2020-03-24

数据结构实验报告(同名10801).doc_第1页
数据结构实验报告(同名10801).doc_第2页
数据结构实验报告(同名10801).doc_第3页
数据结构实验报告(同名10801).doc_第4页
数据结构实验报告(同名10801).doc_第5页
资源描述:

《数据结构实验报告(同名10801).doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、数据结构实验报告第四次实验学号:20141060106姓名:叶佳伟一、实验目的1、复习线性表、栈、队列的逻辑结构、存储结构及基本操作;2、掌握顺序表、(带头结点)单链表、顺序栈、链队列;3、了解有顺表、链栈、循环队列。3、了解有顺表、链栈、循环队列。二、实验内容1、(必做题)假设有序表中数据元素类型是整型,请采用顺序表或(带头结点)单链表实现:(1)OrderInsert(&L,e,int(*compare)(a,b))//根据有序判定函数compare,在有序表L的适当位置插入元素e;(2)OrderInput(&L,int(*compare)(a,b))//根据

2、有序判定函数compare,并利用有序插入函数OrderInsert,构造有序表L;(3)OrderMerge(&La,&Lb,&Lc,int(*compare)())//根据有序判定函数compare,将两个有序表La和Lb归并为一个有序表Lc。2、(必做题)假设栈中数据元素类型是字符型,请采用顺序栈实现栈的以下基本操作:(1)StatusInitStack(&S)//构造空栈S;(2)StatusPush(&S,e)//元素e入栈S;(3)StatusPop(&S,&e)//栈S出栈,元素为e。3、(必做题)假设队列中数据元素类型是字符型,请采用链队列实现队列的

3、以下基本操作:(1)StatusInitQueue(&Q)//构造空队列Q;(2)StatusEnQueue(&Q,e)//元素e入队列Q;(3)StatusDeQueue(&Q,&e)//队列Q出队列,元素为e。三、算法描述(采用自然语言描述)⒈⑴分别插入第一个链表和第二个链表的数据;⑵根据有序判定函数compare,将两个有序表La和Lb归并为个有序表。⑶输出归并后的有序表。2.⑴构造一个栈的结构体⑵利用函数initstack构造空栈⑶Push函数将元素依次存储到栈里⑷利用pop函数输出栈顶元素103.⑴构造Queueptr的结构体⑵构造一个队列的结构体⑶利用函

4、数InitQueue构造空队列⑷EnQueue函数将元素依次存储到栈里⑸利用DeQueue函数输出栈顶元素四、详细设计(画出程序流程图)五、程序代码(给出必要注释)第一题:#include#includetypedefstructLNode{intdate;structLNode*next;}LNode,*Link;typedefstructLinkList{Linkhead;intlen;}LinkList;10intcompare(LinkList*L,inte){intLc=0;Linkp;p=L->head;p=p->n

5、ext;while(p!=NULL){if(e>p->date){p=p->next;Lc++;}elsereturnLc;}returnLc;}voidOrderInsert(LinkList*L,inte,int(*compare)()){Linktemp,p,q;intLc,i;temp=(Link)malloc(sizeof(LNode));temp->date=e;p=q=L->head;p=p->next;Lc=(*compare)(L,e);if(Lc==L->len){while(q->next!=NULL){q=q->next;}q->next=t

6、emp;temp->next=NULL;}else{for(i=0;inext;q=q->next;}q->next=temp;temp->next=p;}++L->len;}voidOrderMerge(LinkList*La,LinkList*Lb,int(*compare)()){inti,Lc=0;Linktemp,p,q;q=La->head->next;while(q!=NULL)10{p=Lb->head;temp=(Link)malloc(sizeof(LNode));temp->date=q->date;Lc=(*com

7、pare)(Lb,q->date);if(Lc==Lb->len){while(p->next!=NULL){p=p->next;}p->next=temp;temp->next=NULL;}else{for(i=0;inext;}temp->next=p->next;p->next=temp;}q=q->next;++Lb->len;}}LinkList*Initialize(LinkList*NewList){inti;Linktemp;NewList=(LinkList*)malloc((2+1)*sizeof(LinkList

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

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

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