**如下:
/*******************************
*程式功能:快速排序(分治法排序)
*******************************/
#include
#define n 6
intquick_short
(int
*a,int low,
int high)
//key元素可以是任意的
//我們不妨選第乙個元素
key = a[i]
;while
(low<=high)
if(key>=a[high]
)while
(lowa[low])if
(key<=a[low])}
printf
("low:%d "
,low)
;printf
("high:%d \n"
,high)
;//每次的key元素排好後已經中立
//不要再參與排序,否則就亂了
quick_short
(a,i,low-1)
;//遞迴排左側
quick_short
(a,high+
1,j)
;//遞迴排右側
}//交換函式
intexchange
(int
*low,
int*high)
//列印函式
intshow
(int
*a)putchar(10
);return0;
}//主函式
intmain
(int argc,
const
char
*ar**)
;quick_short
(a,0
,n-1);
show
(a);
return0;
}
結束。 C語言之簡單快速排序
快速排序是一種對氣泡排序的改進,運用了二分的思想,提高了效率,元素的交換是跳躍式的,更適合用在陣列這樣方便隨機讀取的順序結構,平均時間複雜度nlogn。include include 快速排序 void input int int void output int int void order int...
C 簡單的快速排序
寫乙個快速排序將int型陣列由小到大排序我的 include 寫乙個快速排序 using namespace std void quicksort int int,int void swap int int intmain 進行快速排序 quicksort a,0 n1 1 for int i 0 ...
快速排序C語言
就感覺,自己對這些個排序.至少,腦袋裡還沒有.哎,我老是不專心呢.加油吧.說說快速排序吧.這東西,原理就是不斷地將乙個陣列分成3部分.保持所有陣列處在這種狀態,最終完成排序.這些思想,還沒有掌握.加油吧,我還能說什麼?說些這個,呵呵.這段 起初不懂.後來,隨著不斷手工模擬,發現,採用了很多技巧.也難...