程序算法艺术与实践:稀尔排序、冒泡排序和快速排序

最后更新于: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 ';