快速排序2

2021-06-24 11:32:03 字數 475 閱讀 3553

public static void quicksort2(int a, int left, int right) 

pivot=a[left]; //pivot中存的就是基準數

i=left;

j=right;

while(i!=j)

//再找做左邊的

while(a[i]<=pivot && i//交換兩個數在陣列中的位置

if(i}

//最終將基準數歸位

swap(a,left,i);

quicksort2(a,left,i-1);//繼續處理左邊的,這裡是乙個遞迴的過程

quicksort2(a,i+1,right);//繼續處理右邊的 ,這裡是乙個遞迴的過程

} }

static void swap(inta ,int i,int j)

快速排序2

include include using namespace std int partition int a,int p,int r if ix j後退將不符合的數與主元調換,進而放到合適的位置 while a j x i if i 相等時返回分割線的位置 return i void quicks...

快速排序2

include include usingnamespacestd intpartition inta,intp,intr if ix j後退將不符合的數與主元調換,進而放到合適的位置 while a j x i if i 相等時返回分割線的位置 returni voidquicksort inta...

2 快速排序

快速排序思想 每次找到乙個標桿,在序列中的前面部分放置比標桿小的元素,在序列後面部分放置比標桿大的元素,那麼標桿放置的位置則可以確認。待主迴圈結束,則是排序好的序列。確認標桿位置 在排序過程中,需要兩個前後索引index left index right index left 向後前進,而index...