這個題應用了快排。。。雖然題目只要求一遍,但是回了一遍就會了全部的。。。。
先上一遍的。。。。
#includevoid swap(long long *x,long long *y);
int main()
{ int n;
long long a[100005];
while(~scanf("%d",&n))
{ for(int i=0;i=temp) y--;
a[x]=a[y];
while(x
然後再來講一下全部的快速排序。。。。一開始學的時候沒用過快排排過一直用stl庫中的sort
然後做做了資料節後題發現都不會。。。。。。。。。
能寫的都超時。。。所以又學了一遍幾種排序的方法
快速排序的歸併有相同之處就是應用了遞迴
void qsort(int a,int low,int high)
{ int mid;
if(low
一部分比比較值低,一部分比比較值高
int partition(int a,int low,int high)
{ int temp;
temp=a[low]; //用表的第乙個數作為比較值
while(low=temp) high--;
a[low]=a[high];
while(low
講每個部分進行排序最後就排好了
#include#define n 10000
void qsort(int a,int low,int high);
int partition(int a,int low,int high);
int main()
{ int n;
int a[n];
scanf("%d",&n);
for(int i=0;i=temp) high--;
a[low]=a[high];
while(low
資料結構之快排
快速排序 1,首先選定陣列的乙個座標 2,將次座標所對應的值與陣列中其他的值進行比較,比他大的放在他的右邊,比他小的放在他的左邊 3,將2所分得的兩個區分別進行第2步所做的操作 public class quicksort if leftpvoid return left public static...
資料結構複習之快排
其實按照我的複習進度,我現在應該是還在複習計算機網路,但是沒忍住手癢去刷了刷leetcode,我做的題是88.合併兩個有序陣列 是個簡單題,想要練習練習快排的可以找這題熟悉熟悉。void quick sort vector nums1,int left,int right 快排 int i left...
資料結構之快排(python實現)
受益於一位前輩的快排部落格,感謝感恩開源,記錄一下用python實現的快排 主要思想 分而治之 以基準數為分界線,左邊比其小,右邊比其大 1.i l,j r,取出基準數s i 形成第乙個坑 2.j 由後向前找比基準數小的數,找到後填到前乙個坑s i 中 3.i 由前向後找比基準數大的數,找到後填到第...