数据结构代码应用举例

数据结构代码应用举例

ID:36503736

大小:414.50 KB

页数:54页

时间:2019-05-11

数据结构代码应用举例_第1页
数据结构代码应用举例_第2页
数据结构代码应用举例_第3页
数据结构代码应用举例_第4页
数据结构代码应用举例_第5页
资源描述:

《数据结构代码应用举例》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、附录习题答案2.2.3顺序表的应用举例#defineMAX100/*定义表长不超过100*/typedefstructnode{intdata[MAX];intlenth;}LIST;/*lenth变量存放的是表的实际长度,表中的元素存在数组data中,并且从下标1的单元开始存放。*/#includevoidmerge_list(LISTla,LISTlb,LIST*lc)/*两个有序表合并*/{inti,j,k;i=j=k=1;while(i<=la.lenth&&j<=lb.lent

2、h)if(la.data[i]<=lb.data[j]){lc->data[k]=la.data[i];k++;i++;}else{lc->data[k]=lb.data[j];k++;j++;}while(i<=la.lenth){lc->data[k]=la.data[i];k++;i++;}while(j<=lb.lenth){lc->data[k]=lb.data[j];k++;j++;}lc->lenth=k-1;return;}Voidmain(){LISTla,lb,lc;inti,k,m;

3、printf("请输入la顺序表元素,元素为整型量,用空格分开,-99为结束标志:");la.lenth=0;scanf("%d",&i);while(i!=-99)/*输入la顺序表元素,建立有序表*/{k=la.lenth;while((k>=1)&&(i=k+1;m--)la.data[m+1]=la.data[m];la.data[k+1]=i;la.lenth++;scanf("%d",&i);}printf("请输入l

4、b顺序表元素,元素为整型量,用空格分开,-99为结束标志:");lb.lenth=0;scanf("%d",&i);while(i!=-99)/*输入lb顺序表元素,建立有序表*/{k=lb.lenth;while((k>=1)&&(i=k+1;m--)lb.data[m+1]=lb.data[m];lb.data[k+1]=i;lb.lenth++;53附录习题答案scanf("%d",&i);}printf("la有序表元素列表:

5、");for(i=1;i<=la.lenth;i++)printf("%4d",la.data[i]);printf("");printf("lb有序表元素列表:");for(i=1;i<=lb.lenth;i++)printf("%4d",lb.data[i]);printf("");merge_list(la,lb,&lc);printf("lc有序表元素列表:");for(i=1;i<=lc.lenth;i++)printf("%4d",lc.data[i]);printf(""

6、);}2.3.5单链表应用举例#include#includetypedefstructpnode{intcoef;/*系数以整型为例*/intexp;/*指数*/structpnode*next;/*指针*/}PNODE;PNODE*creat_link(intn){/*顺序输入n个元素的值,建立带表头结点的单链表*/PNODE*head,*p,*s;inti;head=(PNODE*)malloc(sizeof(PNODE));/*head为表头指针*/head-

7、>next=NULL;/*先建立一个带表头结点的空表*/p=head;printf("entercoef,exp:");for(i=1;i<=n;i++){s=(PNODE*)malloc(sizeof(PNODE));/*生成新结点*/scanf("%d,%d",&s->coef,&s->exp);/*输入结点的系数和指数*/s->next=NULL;p->next=s;p=s;/*新结点插入表尾*/}return(head);}voidpadd(PNODE*pa,PNODE*pb){/*以pa和p

8、b为头指针的单链表分别表示两个多项式,实现pa=pa+pb*/PNODE*pre,*qa,*q,*qb;intsum;pre=pa;/*pre始终指向当前和多项式的最后一个结点*/53附录习题答案qa=pa->next;qb=pb->next;/*qa、qb分别指向pa、pb中的当前结点*/while(qa&&qb){/*qa、qb均非空*/if(qa->exp==qb->exp){/*指数相同*/sum=qa->coef+q

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

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

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