数据结构七大主要排序算法实例[宝典]
快速排序 for(int i=1;i<=n;i++) #include
scanf("%d",&a[i]);
quicksort(a,1,n); int partition(int a[],int i,int j) print(a,n); { }
#include 堆排序 a[0]=a[i];
while(i=a[0]) j--; int j;
a[0]=a[i];
if(i=a[j]) break;
return i; a[i]=a[j]; } i=j;
j=2*i; void quicksort(int a[],int low,int high) }
a[i]=a[0]; { }
int p;
if(low0;i--)
quicksort(a,p+1,high); sift(a,i,n);
} for(i=n;i>1;i--) } {
a[0]=a[1];a[1]=a[i];a[i]=a[0];
void print(int a[],int n)
{ sift(a,1,i-1);
int k; }
for(k=1;k<=n;k++) }
printf(" %d",a[k]);
void print(int a[],int n) printf("\n"); } {
for(int i=1;i<=n;i++)
printf(" %d",a[i]); void main()
{ printf("\n");
int a[100]; }
int n;
printf("请输入需要参与排序数字的个数:\n");void main()
{
scanf("%d",&n); int a[100];
printf("请输入排序的%d个数字\n",n); int n;
printf("请输入需要参与排序数字的个数\n");
}
scanf("%d",&n); }
printf("请输入排序的%d个数字\n",n);直接插入排序
#include
for(int i=1;i<=n;i++)
scanf("%d",&a[i]); void InsertSort(int a[],int n)
heapsort(a,n); {
print(a,n); int i,j; } for(i=2;i<=n;i++) 冒泡排序 {if(a[i] {
a[0]=a[i]; void bubblesort(int a[],int n) for(j=i-1;a[0]=i+1;j--) }
if(a[j]
flag=1; void shellsort(int a[],int dis,int n)
} {
if(flag=0) return; int i,j;
} for(i=dis+1;i<=n;i++) } if(a[i] a[0]=a[i];
j=i-dis; void dbubblesort(int a[],int n) while(j>0&&a[0]=i+1;j--)
if(a[j]
for(j=i+1;j<=n-i;j++)
if(a[j]>a[j+1]) void selectsort(int a[],int n)
{a[0]=a[j];{
a[j]=a[j+1]; int i,j,k;
a[j+1]=a[0];} for(i=1;i
本文档为【数据结构七大主要排序算法实例[宝典]】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。