程序算法艺术与实践:稀尔排序、冒泡排序和快速排序
最后更新于:2022-04-01 21:39:55
### 稀尔排序:
~~~
//希尔排序
#include
#include
void ShellSort( int* data, int left, int right){
int len = right-left +1;
int d =len;
while (d>1){
d =(d+1)/2;
for(int i =left; i1){
d =(d+1)/2;
for(int i =0; i
#include
void BubbleSort( int *list)
{
int temp;
for(int i=0;i<9;i++)
for(int j=0; j<9-i; j++){
if(list[j]>list[j+1])
{
temp =list[j];
list[j] =list[j+1];
list[j+1] =temp;
}
}
}
int main( )
{
int list [10];
int n=9,m=0;
printf(" Input 10 number: ");
for( int i=0 ; i<10;i++)
scanf("%d",&list[i]);
printf("\n");
BubbleSort(list);
for(int i =0;i<10;i++)
printf("%5d",list[i]);
printf("\n");
}
~~~
### 快速排序算法:
~~~
//快速排序算法
#include
#include
void improveqsort (int *list, int m, int n)
{
int k,t,i,j;
/*
for(int i =1; i<10;i++)
printf("%3d",list[i]);
*/
if(m=k)
break;
for(j=j-1;j>m;j--)
if(list[j]<=k)
break;
if(i
';