經典排序 快速排序 C語言版

2021-07-31 21:25:53 字數 514 閱讀 6312

/*快速排序*/

/*選取陣列的第乙個數作為軸,從末尾的數字開始比較,當比軸小則與軸交換位置,在用軸與開頭的數字進行比較,當比軸大則與軸交換位置,最終確定軸的位置。之後從軸的位置將陣列分為兩個部分,對各個部分重複選軸定軸的操作*/

#include

int partition(int

s,int low, int high)

s[i]=s[j];

while(is[i])

s[j]=s[i];

}s[i]=temp;

//printf("%d\n",i);

return i;

}int quick_sort(int

s,int low,int high)

return

*s;}

int main()

quick_sort(s,0,n-1);

for(i=0;iprintf("%d ",s[i]);

}}

C語言版快速排序

includevoid quicksort int int int a 101 n,t,temp 定義全域性變數,這三個變數需要在子涵數中使用。int main void printf n quicksort 1,n for int i 1 i n i getchar getchar 用來暫停程式,...

經典排序 氣泡排序 C語言版

本人小白一枚,為了能夠更好的學習和記錄,故用這個部落格記錄學習過程,也希望得到各位高人的指點。現在就從最基礎的經典演算法開始!如有不對,希望得到指正,這樣才能更好的進步 氣泡排序 從前面開始,前後數字比較,將大的交換到後面,則迴圈一輪下來最大的數字到了最後,以此類推每次迴圈都將最大的放在最後 如果第...

快速排序Qsort C語言版

快速排序 quicksort 是分治法的典型例子,它的主要思想是將乙個待排序的陣列以陣列的某乙個元素x為軸,使這個軸的左側元素都比x小,而右側元素都比x大 從小到大排序 然後以這個x在變換後陣列的位置i分為左右兩個子陣列,再分別進行快速排序,直到子陣列中只有乙個元素為止。分治法將原有問題分解成若干個...