《数据结构》耿国华版算法习题

《数据结构》耿国华版算法习题

ID:27699529

大小:656.74 KB

页数:40页

时间:2018-12-05

《数据结构》耿国华版算法习题_第1页
《数据结构》耿国华版算法习题_第2页
《数据结构》耿国华版算法习题_第3页
《数据结构》耿国华版算法习题_第4页
《数据结构》耿国华版算法习题_第5页
资源描述:

《《数据结构》耿国华版算法习题》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、数据结构》耿国华版算法习题第一部分线性表1./*冇序表上插入新元素*/typedefintdatatype;#definemaxsize1000typedefstruct{datatypelist[maxsize];intsize;/**/}sequenlist;/*顺序表类型定义*/intins2_4_1(sequenlist*L,datatypex)/*从后向前比较*/{inti;if(L->size>=maxsize){printf(”溢出");return0;}else{for(i=L->size-1;i>=0;i-)

2、if(xdata[i])L->data[i+1]=L->data[i];elsebreak;/*以上for循环也可以改为:for(i=L->size-1;i>=0&&xdata[i];i--)L->data[i+1]=L->data[i];*/L->data[i+1]=x;L->last++;return1;}}ins2_4_2(sequenlist*L,datatypex)/*从前向后比较*/{inti,j;if(L->size>=maxsize){printfC•溢出");return0;}else{for

3、(i=0;i<=L->last;i++)if(x<=L->data[i])break;/*以上for循环也可以改为:for(i=0;i<=L->last&&x>L->data[i];i++);*/for(j=L->last;j>=l;卜)L->data[j+1]=L->data[j];L->data[i]=x;L->last++;return1;}}2:删除顺序表屮,从第i个元素开始的k个元素。intDELETE(seqlist*L,inti,intk)/*seqlist顺序表类型*/{intj;if(i>L->last)/*

4、起始位置超出表长,无法删除*/{printf("error”);return0;}else{if(i+k-2>L->last)/*从起始位置开始不足K个元素,则将起始位置到表尾全部删除*/{L->last=i-2;/*此时不进行元素的移动,禝盖*/}else{for(j=i+k-1;j<=L->last;j++)/*i+k-i下标的元素褪遍i-i,i+k下标元素覆盏i,以此类推,直到L->last*/L->data[j-k]=L->data[j];L->last=L->last-k;}return1;}}3/*删除值递增的单链

5、表中,所有大于mink且小于maxk的元素*/ch2_6(linklistH,intmink,intmaxk)/*H为带头结点的单链表*/{linklistp,q;if(mink<=maxk){P=H;while(p->next!=NULL){if(p->next->data>=mink&&p->next->datanext;p->next=q->next;free(q);}elsep=p->next;}}else{P=H;while(p->next!=NULL){if(p->next->data>=m

6、ink

7、

8、p->next->datanext;p->next=q->next;什ee(q);}elsep=p->next;}}}4ch2_7a(seqlist*1)/*顺序存储*/{intI,temp;for(i=0;i<=l->last/2;i++){temp=l->data[i];l->data[i]=l->data[l->last-i];l->data[l->last-i]=temp;}}/*带尖结点单链表逆序*/typedefintdatatype;typedefstructnode{datat

9、ypedata;structnode*next;flinklist;nixu(linklistI){linklistp,q;q=l->next;l->next=NULL;while(q!=NULL){p=q;q=q->next;p->next=l->next;l->next=p;}}5:非递减有序的表A,B,合并成非递增有序的表C。(存储结构,单链表)方法:依次从A或B表中得到敁小值,使用前插法生成表C。typedefstructnode{intdata;structnode*next;}NODE,*LinkList;Link

10、Listunion(LinkListA,LinkListB){LinkListC;LinkListpa,pb,min;C=malloc(sizeof(NODE));C->next=NULL;pa=A->next;pb=B->next;while(pa!=NULL&&pb!=N

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

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

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