线性表的使用.doc

上传人:pu****.1 文档编号:540928128 上传时间:2022-10-24 格式:DOC 页数:7 大小:54.50KB
返回 下载 相关 举报
线性表的使用.doc_第1页
第1页 / 共7页
线性表的使用.doc_第2页
第2页 / 共7页
线性表的使用.doc_第3页
第3页 / 共7页
线性表的使用.doc_第4页
第4页 / 共7页
线性表的使用.doc_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《线性表的使用.doc》由会员分享,可在线阅读,更多相关《线性表的使用.doc(7页珍藏版)》请在金锄头文库上搜索。

1、#includestdio.h#includestdlib.hvoid input(int *v,int *n)int i; printf(npls input %d number to list,*n); for(i=0;i*n;i+) scanf(%d,v+i);void output(int *v,int *n)int j;printf(nthis is list:n);for(j=0;j*n-1) i=*n+1;if(i=i;j-) vj=vj-1;vi-1=b;*n+=1;int serch(int v,int n,int x) int k;k=0;while(kn)&(vk!=x)

2、 k+=1;if(k=n) k=-1;return (k+1);int bserch(int v,int n,int x)int i,j,k;i=1;j=n; while(ix) j=k-1;else i=k+1;if(ij) k=-1;return (k+1); void desl(int *v,int m,int *n,int i)int j;if(*n=0) printf(underflown);return;if(i*n) printf(not this element in the list:n);return;for(j=i;j=*n-1;j+)vj-1=vj;*n=*n-1;vo

3、id xx() printf(n); printf(n); printf(n); printf( * * * * n); printf( * * n); printf( n); printf( n); printf( n); printf( n); printf( THANK YOU ! n); void yy() printf(n);printf( .欢迎进入小程序测试. n); printf(n);printf( * 功能: *n);printf( * 1 申请空间: *n);printf( * 2 建表: *n);printf( * 3 排序: *n);printf( * 4 查找: *

4、n);printf( * 5 插入: *n);printf( * 6 删除: *n);printf( * 7 输出: *n); void bubsort(int *v,int n) int m,j,i,k=0; int d; m=n-1; while(km) /子表为空 j=m-1;m=0; for(i=k;ivi+1) d=vi;vi=vi+1;vi+1=d;m=i; j=k+1;k=0; for(i=m;i=j;i-) /从后往前 if(vi-1vi) d=vi;vi=vi-1;vi-1=d;k=i; return; void insort(int *p,int n) /插入排序int j

5、,k,t;for(j=1;j=0)&(pkt) pk+1=pk;k=k-1;pk+1=t;return;void shlsort(int *p,int n) /希尔排序int h,j,i,t;h=n/2;while(h0)for(j=h;j=0)&(pit)pi+h=pi;i=i-h;pi+h=t;h=h/2;return;int split(int *p,int m,int n) int i,j,k,u,t;i=m;j=n;k=(i+j)/2;if(pi=pj)&(pj=pk) u=j; else if(pi=pk)&(pk=pj) u=k; else u=i; t=pu; pu=pi;wh

6、ile (i!=j)while (i=t) j-=1; if(ij) pi=pj;i+=1;while(ij)&(pi=t) i+=1;if(im)i=split(p,m,n); qksort1(p,m,i-1); qksort1(p,i+1,n);return;void main() /主函数 int *v=NULL,*n=NULL,m,i,b,h,x,t,y,s,a,hh,bb; while(9)yy();printf( 请输入你的选择: );scanf(%d,&hh);switch (hh)case 1: printf(n 请输入空间大小 : m:); scanf(%d,&m); n=(

7、int *)malloc(m*sizeof(int); v=initsl(m,n); printf(n 空间申请完毕,谢谢使用! :); system(pause); system(cls); break;case 2: printf( 请输入元素总个数 :n:); scanf(%d,n); while(76) if(*nm) printf(n 空间不足,请重新输入,谢谢! :); scanf(%d,n); else break; input(v,n); printf(n 建表完成,谢谢使用! ); system(pause); system(cls); break;case 3: printf(n 现在进行排序 ); printf(n ); printf(n 冒泡请输: 1 ); printf(n 快速请输: 2 ); printf(n 插入请输: 3 ); printf(n 希尔请输: 4 ); printf(n 请输入你的选择 :); printf(n ); scanf(%d,&s); switch

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号