給一組整數,按照公升序排序,使用選擇排序,氣泡排序,插入排序或者任何 o(n
2) 的排序演算法。 樣例
對於陣列[3, 2, 1, 4, 5]
, 排序後為:[1, 2, 3, 4, 5]
。
1.氣泡排序
演算法思路很簡單,遍歷陣列,把當前數字的後面所有的數字都遍歷一遍,遇到小的跟當前數字交換,這樣遍歷的過程中,所有大的數字就像氣泡一樣都到陣列的後面去了,這也是為啥叫氣泡排序的原因,參見**如下:
// bubble sort
class solution }}
}};
2.插入排序
演算法思路是遍歷陣列,從a[i]開始往前比,如果遇到a[i] < a[i - 1],那麼交換兩者並--i,直到i=0位置停止,參見**如下:
// insertion sort
class solution }}
};
3.選擇排序
思路是遍歷陣列,對於當前位置i,我們定義乙個變數min_idx,用來記錄當前位置往後的最小值的座標,我們通過遍歷之後所有的數字來找到最小值的座標,然後交換a[i]和a[min_idx]即可,參見**如下:
// selection sort
class solution
}swap(a[i], a[min_idx]);}}
};
程式設計初探:
注意點:
1:括號
2:分號
3:空格保證**的優美
4:對i,j進行int定義
5:c++陣列的第乙個元素的序號為0!!!!
lintcode 入門 463整數排序
class solution if max length x 1 for i 0 i length i a.push back temp i delete temp 寫這道題目的時候,雖然簡單,但是並沒有一遍通過。通過題目了解 include使用vector物件,vectorv 似乎需要使用模板。不...
35 整數奇偶排序 北大複試 c
輸入10個整數,彼此以空格分隔。重新排序以後輸出 也按空格分隔 要求 1.先輸出其中的奇數,並按從大到小排列 2.然後輸出其中的偶數,並按從小到大排列。任意排序的10個整數 0 100 彼此以空格分隔。可能有多組測試資料,對於每組資料,按照要求排序後輸出,由空格分隔。測試資料可能有很多組,請使用wh...
排序入門練習題8 整數奇偶排序 題解
題目出處 資訊學奧賽一本通 第二章上機練習6,略有改編 題目描述 告訴你包含 n 個數的陣列 a 你需要把他們按照 奇數排前面,偶數排後面 奇數從從小到大排,偶數從大到小排 的順序輸出。輸入格式 輸入的第一行包含乙個整數 n 1 le n le 1000 輸入的第二行包含 n 個整數 a 1,a 2...