題目:隨機產生10個0-9的整數,用快速排序法對其進行排序。(公升序)
演算法分析:
c**:
#define _crt_secure_no_warnings
#include
#include
void
quicksort
(int array,
int start,
int end)
//填坑
if(low < high)
//從左往右找比基數大的
while
(low < high&&array[low]
< target)
//填坑
if(low < high)
}//迴圈結束後,low和high指向同乙個位置,將target放在該位置處
array[low]
= target;
quicksort
(array, start, low -1)
;quicksort
(array, low +
1, end);}
}void
printarray
(int array,
int n)
printf
("\n");
}int
main()
printf
("快速排序前:");
printarray
(array, n)
;quicksort
(array,
0, n -1)
;printf
("快速排序後:");
printarray
(array, n)
;return0;
}
c執行結果:
#define _crt_secure_no_warnings
#include
#include
using
namespace std;
void
swap
(int
*a,int
*b)void
quicksort
(int array,
int start,
int end)
while
(array[low]
<= target&&low != end);do
while
(array[high]
>= target&&high != start);if
(low < high)
else
}swap
(&array[start]
,&array[high]);
quicksort
(array, start, high -1)
;quicksort
(array, high +
1, end);}
}void
printarray
(int array,
int n)
cout << endl;
}int
main()
cout <<
"快速排序前:"
;printarray
(array, n)
;quicksort
(array,
0, n -1)
; cout <<
"快速排序後:"
;printarray
(array, n)
;return0;
}
c++執行結果: 排序 快速排序,C 實現
本文 的github位址 基本思想 快速排序 是對 氣泡排序 的改進。基本原理 基於分治法,在待排線性表中取乙個元素pivot作為樞軸值,通過一趟排序將待排線性表劃分為獨立的兩部分,第一部分的所有元素小於pivot,第二部分的所有元素大於等於pivot,pivot位於其最終位置。遞迴對兩個子表做快速...
快速排序 c 實現
快速排序思想 基於分治策略,對氣泡排序的一種改進。對於要排序的乙個序列,從中選一值進行排序,將其放入到正確的位置position。然後以position為界,對左右兩部分再做排序。直到劃分的長度為1。步驟 設有一待排序的序列 1.分別設定low hight指向序列的最左端 最右端 從序列中選乙個進行...
快速排序(C 實現)
include using namespace std void swap int a,int b int sort int begin,int end if beginwhile beginif begin return begin void quicksort int begin,int end...