/*快速排序*/
/*選取陣列的第乙個數作為軸,從末尾的數字開始比較,當比軸小則與軸交換位置,在用軸與開頭的數字進行比較,當比軸大則與軸交換位置,最終確定軸的位置。之後從軸的位置將陣列分為兩個部分,對各個部分重複選軸定軸的操作*/
#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分為左右兩個子陣列,再分別進行快速排序,直到子陣列中只有乙個元素為止。分治法將原有問題分解成若干個...