ImageVerifierCode 换一换
格式:DOCX , 页数:11 ,大小:100.80KB ,
资源ID:21704167      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/21704167.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(实验六各种排序方法的比较switch选择方法Word格式文档下载.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

实验六各种排序方法的比较switch选择方法Word格式文档下载.docx

1、 RecordNode *record;SortObject;struct Node;typedef struct Node ListNode;struct Node ListNode *next;typedef ListNode * LinkList; /*对链表按递增序进行表插入排序,链表中第一个结点为表头结点*/void listSort(LinkList * plist) ListNode *now, *pre, *p, *q, *head; head=*plist; pre=head-next; if(pre=NULL) return; now=pre- if(now=NULL) r

2、eturn; while( now!=NULL) q=head; p=head- while(p!=now & p-keykey) q=p;p=p- if(p=now) pre=pre-now=pre- continue; pre-next=now- q-next=now; now-next=p; /*Shell排序*/void shellSort(SortObject * pvector, int d) int i, j, increment; RecordNode temp; for (increment = d; increment 0; increment /= 2) for(i=in

3、crement; in; i+) temp=pvector-recordi; j=i-increment; while(j=0 & temp.keyrecordj+increment=pvector-recordj; j-=increment; recordj+increment=temp; /*直接选择排序*/void selectSort(SortObject * pvector) int i, j, k; for( i = 0; i n-1; i+ ) k=i; for(j=i+1; jrecordj.keyrecord k;record k=temp; /*冒泡排序*/void bub

4、bleSort(SortObject * pvector) int i, j, noswap; for(i=0; noswap=TRUE; for(j=0;n-i-1; j+) recordj+1.keyrecordj+1;recordj+1=temp; noswap=FALSE; if(noswap) break; /*快速排序*/void quickSort(SortObject * pvector, int l, int r) int i, j; if(l=r) return; i=l; j=r; while(i!=j) while( (pvector-recordj.key=temp.

5、key) & (ji) ) j-; if(irecordi+= pvector-record j;recordi.keyrecordi=temp; quickSort(pvector,l,i-1); quickSort(pvector,i+1,r); /*二組歸併算法算法*/void merge(RecordNode* r, RecordNode *r1, int low, int m, int high) int i,j,k; i=low; j=m+1; k=low; while( (i=m) & (j=high) ) if(ri.key=rj.key) r1k+=ri+; else r1k

6、+=rj+; while (i=m) r1k+=ri+; while (j=high) r1k+=rj+; /*对r做一趟归并,结果放在r1中*/void mergePass(RecordNode *r, RecordNode *r1, int n, int length) int j, i=0; while(i+2*length-1n) merge(r,r1,i,i+length-1,i+2*length-1); i+=2*length; if(i+length-1n-1) merge(r,r1,i,i+length-1,n-1); else for(j=i; j+) r1j=rj; /*二

7、路歸並排序法*/void mergeSort(SortObject *pvector) RecordNode recordN; int length =1; while(lengthrecord,record,pvector-n,length); length*=2; mergePass(record,pvector-record,pvector-void s1() /*Shell排序*/ int i; SortObject *p3=(SortObject *)malloc(sizeof(SortObject); p3-n=10;record=(RecordNode *)malloc(size

8、of( RecordNode)*p3-n);ii+)recordi.key=ai; shellSort(p3, 4); printf(Shell排 序 后 : );%d ,p3-recordi.key);nvoid s2() /*直接选择排序*/ SortObject *p4=(SortObject *)malloc(sizeof(SortObject); p4-record=(RecordNode *)malloc(sizeof(RecordNode)*p4-p4- selectSort(p4);直接选择排序后 :,p4-void s3() /*冒泡排序*/ SortObject *p5=(

9、SortObject *)malloc(sizeof(SortObject); p5-record=(RecordNode *)malloc(sizeof(RecordNode)*p5-p5- bubbleSort(p5);起 泡 排 序 后 :,p5-void s4() /*快速排序 */ SortObject *p6=(SortObject *)malloc(sizeof(SortObject); p6-record=(RecordNode *)malloc(sizeof(RecordNode)*p6-p6- quickSort(p6,0,p6-n-1);快 速 排 序 后 :,p6-vo

10、id s5() /*二路归并排序*/ SortObject *p7=(SortObject *)malloc(sizeof(SortObject); p7-record=(RecordNode *)malloc(sizeof(RecordNode)*p7-p7- mergeSort(p7);二路归并排序后 :,p7-void main() int i,b; 實驗六:各種排序算法的比較 n 根據已知得出排序前的結果是:10;,ai);nn各類排序算法以及算法的選擇如下: 1Shell排序法 n 2直接選擇排序法 n 3冒泡排序法 n 4快速排序法 n 5二路歸並排序法 n 0結束 nnn 請選擇一種方法并輸出: scanf(%d,&b); while(1) switch(b) case 1: s1(); break; case 2: s2(); break; case 3: s3(); case 4: s4(); case 5: s5(); case 0: exit(0); n 請再接著選擇一個并輸出(0结束):实验结果截图:

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1