用陣列實現快速排序(C )

2021-07-29 06:09:51 字數 533 閱讀 1235

快速排序是分而治之法的一種排序方法,快速排序將n個元素分為三段。left段,right段和middle段,中間僅有乙個元素。我叫做關鍵值。左邊的元素都不大於中間段,右邊的元素都不小於中間段。因此可以對left與right段進行單獨的排序。

完整**實現如下:

#include

using

namespace

std;

void quicksort(int

array,int x,int y) //x,y分別是陣列的起始下標

while((zarray[z]<=k)

z++;

if(z//左邊的值小於k,移到看k的右邊

}while(z!=y);

array[z]=k;//複製key值到array[z]

quicksort(array,x,z-1);//對z的左側進行排序

quicksort(array,z+1,y);//對z的右側進行排序

}}int main()

用棧實現快速排序

include include include include include include 快速排序 一次劃分過程 int partation int arr,int low,int high 返回值為low與high相等時的下標 if low high else while low 從前往後找...

用scala實現快速排序

author 孤星魅影 乙個簡單的整型陣列快速排序 scala大部分符號都是左結合,只有 的連線符是右結合,a b c 相當於a b c 它會優先執行冒號右邊的表示式。def sortint arr array int array int 乙個完整的快速排序的方法 可以傳入任意型別的buffer對其...

用棧實現快速排序

include include include include include include 快速排序 一次劃分過程 int partation int arr,int low,int high 返回值為low與high相等時的下標 if low high else while lowtmp el...