为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

插入排序

2017-09-20 5页 doc 28KB 11阅读

用户头像

is_353097

暂无简介

举报
插入排序插入排序 #include"stdio.h" #include"stdlib.h" #define MaxSize 50 typedef int KeyType; typedef struct { KeyType key; }DataType; typedef struct { DataType data[MaxSize]; int length; }SqList; void InitSeqList(SqList *L,DataType a[],int n) { int i; for(i=1;i...
插入排序
插入排序 #include"stdio.h" #include"stdlib.h" #define MaxSize 50 typedef int KeyType; typedef struct { KeyType key; }DataType; typedef struct { DataType data[MaxSize]; int length; }SqList; void InitSeqList(SqList *L,DataType a[],int n) { int i; for(i=1;i<=n;i++) { L->data[i]=a[i-1]; } L->length=n; } void InsertSort(SqList *L) { int i,j; DataType t; for(i=1;ilength;i++) t=L->data[i+1]; j=i; while(j>-1&&t.keydata[j].key) { L->data[j+1]=L->data[j]; j--; } L->data[j+1]=t; } void ShellInsert(SqList *L,int c) { int i,j; DataType t; for(i=c+1;i<=L->length;i++) if(L->data[i].keydata[i-c].key) { t=L->data[i]; for(j=i-c;j>0&&t.keydata[j].key;j=j-c) L->data[j+c]=L->data[j]; L->data[j+c]=t; } } void ShellInsertSort(SqList *L,int delta[],int m) { int i; for(i=0;ilength;i++) { t=L->data[i+1]; low=1,high=i; while(low<=high) { mid=(low+high)/2; if(L->data[mid].key>t.key) high=mid-1; else low=mid+1; } for(j=i;j>=low;j--) L->data[j+1]=L->data[j]; L->data[low]=t; } } void DispList(SqList L,int n) { int i; for(i=1;i<=n;i++) printf("%4d",L.data[i].key); printf("\n"); } void main() { DataType a[]={56,22,67,32,59,12,89,26,48,37}; int delta[]={5,3,1}; int n=10,m=3; SqList L; InitSeqList(&L,a,n); printf("排序前: "); DispList(L,n); InsertSort(&L); printf("直接插入排序结果: "); DispList(L,n); InitSeqList(&L,a,n); printf("排序前: "); DispList(L,n); BinInsertSort(&L); printf("折半插入排序结果: "); DispList(L,n); InitSeqList(&L,a,n); printf("排序前: "); DispList(L,n); ShellInsertSort(&L,delta,m); printf("希尔排序结果:"); DispList(L,n); }
/
本文档为【插入排序】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索