if(i!
=k)
{
t=A[i];
A[i]=A[k];
A[k]=t;
printf("^%d趙二h++);
for(l=0;lprintf(M%dM,A[11);
printf(H\nM);
printf(H\n排序结果:
”);
for(i=0;iprintf(M%dM,A[i));
printf(n\nu);
printf(H\nn);
system("pauseH);
system(HCLSM);
}
////////////////////**********W泡排^*********7/////////////////////voidmaopao(intA[],intn)
{
inti,j,t,h=l,p;
for(j=0;jfor(i=0;i{
if(A[i]>A[i+l])
t=A[i],A[i]=A[i+l],A[i+l]=t,p++;
printf(n^%d趟二h++);
for(p=0;p}
printf("\n排序结果:
");for(i=0;iprintf(H\nM);
printf(H\nH);system(npause");system(nCLSM);
/////////////////////**********堆排序**********///////////////////////voidshift(intA[],inti,intm)
{
intk,t;
t=A[i];k=2*i+l;
while(k{
if((k}
A[i]=t;
}
voidduipai(intA[|、intn)//a为排序数组,n为数组大小
{
inti,k,h=l,j;
for(i=n/2-l;i>=0;i—)shift(A,i,n);
for(i=n-l;i>=l;i—)
{
k=A[O];A[O]=A[i];A[i]=k;
shift(A,O,i);
printfC第%01趟:
”,h++);
for(j=0;jprintf("%d”,A[j]);
printf(H\nM);
}
printf("\n排序结果:
");
for(i=0;iprintf(M%dM,A[i]);
printf(n\nu);
printf(H\nn);
system(npausen);
system(HCLSM);
}
////////////////////****归并排J^**********//////////////////////voidmerge(intnumber[],intfirst,intlast,intmid)
{
intnumber_temp[10]H0};
inti=first,j=mid+l,k;
for(k=0;k<=last-first;k++)
{
if(i==mid+l)
{
number_temp[k]=number[j++);
continue;
}
if(j==last+l)
{
number_temp[k]=number[i++];
continue;
}
if(number[i]elsenumber_temp[k]=number[j++];
}
for(i=first,j=O;i<=last;i++J++)
number[i]=number_temp[j];
}
voidmerge_sort(intnumber[],intfirst,intlast)
{
intmicl=O;
if(first{
mid=(first+last)/2;
merge_sort(number,first,mid);
merge_sort(number,micl+1,last);
merge(number,firstJast,mid);
}
voidguibingfinta[],intn)inti;merge_sort(a,0,n-l);printf("\n排序结果:
");for(i=0;isystem(npause");system(nCLSM);
////////////////////^^^^基数排序^^"^7/////////////////////voidjishu(intclata[],intn)
{
inttemp[10][10]=^0r;
intorder[10]={0};
inti,j,k,q,lsd;
k=0;
q=l;
while(q<=n)
{
for(i=0;i{
lsd=((data[i]/q)%n);
temp[lsd][order[lsd]]=data[i];
order[lsd|++;
}
for(i=0;i{
if(order[i]!
=0)
for(j=0;j{
data|k]=temp[i][j];
k++;
}
order[i]=0;
q*=n;
k=0;
printf(M\n排序结果:
”);
for(i=0;iprintf(n%dH,clata[i]);
printf(H\nH);
printf(H\nH);
system("pauseH);system(MCLSM);
}
////////////////////***********主函数***********//////////////////////intmain()
{
intA[100],p,n,i;
while(l)
printf(H\n\t****************
七种排序算法的演示程序
***************\)・
printf(H\t*
*\n");
printf(H\t*
1—
快速排序
*\n");
printf(H\t*
2—
…描入排序
*\n");
printf(H\t*
3—
一选择排序
*\n");
printf(H\t*
4…
冒泡排序
*\n");
printf(M\t*
5—
•—堆排序
*\nu);
printf(H\t*
6—
归并排序
*\n");
printf(H\t*
7—
一基数排序
*\n");
printf(M\t*
8—
退出程序
*\n");
printf(M\t*
*\n1;
printf(H\t*
********************************************************
\n\iT);
printfr请输入序号进行选择:
\n”);
scanf(M%dM,&p);if(p==8)break;
printf(储输入待排序数的个数:
\n“);scanf(”%d役&n);
printff"请输入待排序数据:
\rT);
for(i=0;iscanf(”%cT,&A[i]);
switch(p)
{
case1:
kiiaisu(A,n);brea