快速排序 挖坑填補法

2021-10-04 07:11:13 字數 585 閱讀 5374

看了這片文章,確實非常形象,

quicksort:找乙個標準值(樞軸),將比標準值小的放到左側,比標準值大的放在它右側,根據標準值位置將當前資料分割成兩部分,兩部分分別重複以上以上操作

#includeint sort(int arr,int nlow,int nhigh)

nhigh--;

} //從前向後找比標準值大的

while(nlow < nhigh)

nlow++;

} }//標準值放入

arr[nlow] = temp;

return nlow;

}void quicksort(int arr,int nlow,int nhigh)

void print(int arr,int nlength)

printf("\n");

}int main()

; quicksort(arr,0,sizeof(arr)/sizeof(arr[0])-1);

print(arr,sizeof(arr)/sizeof(arr[0]));

return 0;

}

挖坑法之 快速排序

速度快,耗時小,面對資料量大的題目時可用快排 選取基準數,不斷 挖坑 填坑 使小於基準數的數全在其左邊,大於其的數全在右邊 最後陣列有序 參考鏈結 選擇最左端的數為基準數x 可將其視為乙個坑,可以將別的數填入這個坑 從右往左尋找小於x的數y,找到後填入坑,此時原基準數的坑被填,而y處產生新的乙個坑,...

快速排序 挖坑填數 分治法

快速排序是c.r.a.hoare於1962年提出的一種劃分交換排序。它採用了一種分治的策略,通常稱其為分治法 divide and conquermethod 該方法的基本思想是 1 先從數列中取出乙個數作為基準數。2 分割槽過程,將比這個數大的數全放到它的右邊,小於或等於它的數全放到它的左邊。3 ...

快速排序(Quick Sort) 挖坑填數法

前面的博文講了氣泡排序 選擇排序 插入排序,今天我們談談快速排序!快速排序的基本思想是 1 先從序列中取出乙個數作為基準數。2 分割槽過程,將比這個數大的數全放到它的右邊,小於或等於它的數全放到它的左邊。分割槽的方式多樣,但一定要保證基準數左邊的數比它大 小 右邊的數比它小 大 3 再對左右區間重複...