入門 463 整數排序 35

2021-08-03 08:15:21 字數 875 閱讀 4951

給一組整數,按照公升序排序,使用選擇排序,氣泡排序,插入排序或者任何 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...