氣泡排序和快速排序

2021-10-09 15:46:10 字數 335 閱讀 1622

a.比較相鄰位置的元素,如果第乙個元素比第二個元素大,則交換兩個元素的位置

b.對每一對相鄰位置的元素做同樣的工作,從開始的第一對一直到最後的一對,經過這一步, 最後的元素將是這組元素中的最大值

c.針對所有的元素重複以上步驟,除了最後乙個元素

d.持續對越來越少的元素重複以上步驟,直到沒有元素需要交換為止

a.從樣本元素中選擇中間元素作為基準值

b.重組樣本順序,將所有比基準值小的元素放在基準值的左邊,將所有比基準值大和相等的元素放在基準值的右邊,這個過程叫做分組

c.以遞迴的方式對小於基準值的分組和大於基準值的分組分別重複上述過程進行再分組排序,直到所有元素有序

排序 氣泡排序和快速排序

實現思路 把第乙個元素作為標記,依次判斷後續的值,如果小於它則放在左邊,如果大於它則放右邊,同理把左右兩部分看成乙個整體一直遞迴,最後再陣列拼接起來 它的最優時間複雜度為o nlogn 以標記元素為中心,正好每次左右都能均勻分配 最糟糕時間複雜度為o n 2 標記元素每次是最大或最小值,使所有數都劃...

氣泡排序和快速排序

來自 氣泡排序1 自創的,不知道它叫什麼排序,和冒泡差不多。public void risepot ref int array 氣泡排序2 public void risepot ref int array 快速排序 public void quicksort ref int arr,int low...

氣泡排序和快速排序

pragma mark pragma mark 氣泡排序 選擇排序 void swap int a,int b void bubblesort int a,int length 簡單優化,對於已經有序的序列,省去接下的迴圈。對於這種優化,實際還需考慮,多了賦值和判斷操作。if temp length...