劍指offer中partition函式註解

2021-10-03 08:15:24 字數 560 閱讀 1238

partition函式是快速排序的基礎,在看劍指offer裡的partition**時,有些卡,這裡註解一下。

int partition(int data, int length, int start, int end)

}//<=small的元素都比基準元素小了,那麼我們的再將small+1,然後在將基準元素調過來。

++ small;

//基準元素調到small+1的位置

swap(&data[small], &data[end]);

//返回基準元素下標

return small;

}

假如資料為 data=「1,6,4,2,5";   start=0, end =4,     隨機的index為2,那麼執行過程為

index01

234(跳出)

small00

012data

1,6,5,2,4

1,6,5,2,4

1,6,5,2,4

1,2,5,6,4(交換6和2)

1,2,4,6,5(交換5和4)

劍指offer(更新中)

在乙個二維陣列中 每個一維陣列的長度相同 每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。coding utf 8 class solution array 二維列表 def find self,ta...

劍指offer全套解答 劍指offer 1 5

1.二維陣列中的查詢 在乙個二維陣列中 每個一維陣列的長度相同 每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。public class solution int n array 0 length i...

劍指offer全套解答 劍指offer 36 45

36.兩個鍊錶的第乙個公共節點 輸入兩個鍊錶,找出它們的第乙個公共結點。注意因為傳入資料是鍊錶,所以錯誤測試資料的提示是用其他方式顯示的,保證傳入資料是正確的 public class solution return p 37.數字在排序陣列 現的次數 統計乙個數字在公升序陣列 現的次數。publi...