例2 1 選擇排序

2021-10-04 06:08:49 字數 719 閱讀 4079

【問題描述】

輸入n個數,將n個數按從小到大的順序輸出(n<=10000)入)。

【輸入樣例】

849 38 65 97 76 13 27 49

【輸出樣例】

13 27 38 49 49 65 76 97

【分析】

歸納上述排序過程,具體實現步驟如下:

①讀入資料存放在a陣列中。

②在a[1]~a[n]中選擇值最小的元素,與第1位置元素交換,則把最小值元素放入a[1]中。

③在a[2]~a[n]中選擇值最小的元素,與第2位置元素交換,則把最小值元素放入a[2]中,……

④直到第n-1個元素與第n個元素比較排序為止。

程式實現方法:用兩層迴圈完成演算法,外層迴圈i控制當前序列最小值存放的陣列位置,內層迴圈j控制從i+1到n序列中選擇最小的元素所在位置k。

【參考程式】

#include

#include

using

namespace std;

const

int maxn =

10001

;int

main()

for(

int i=

1; iif(i != min)

}for

(int i=

1; i<=n; i++

)return0;

}

例2 1 成績排序

時間限制 1秒 記憶體限制 32m 特殊題型 否題目描述 有n個學生的資料,將學生資料按照成績高低排序,如果成績相同則按姓名字元的字母序排序,如果姓名的字母序也想用則按照學生的年齡排序,並輸出n個學生排序後的資訊。輸入 測試資料有多組,每組輸入第一行有乙個整數n n 1000 接下來的n行包括n個學...

2 1 單例模式

皇帝與臣子 乙個類只能生成乙個物件 皇帝 其他所有類對這個物件的依賴都是同乙個,體現到 上如下 author zephyr description 定義乙個私有的構造器,emperor自己可以new乙個物件,但其他類不能new當前物件,其他類只能通過靜態的getinstance方法獲取emperor...

2 1單例模式

物件資料型別的作用 把描述同乙個事物 同乙個物件 的屬性和方法放在乙個記憶體空間下,起到了分組的作用,這樣不同事物之間的屬性即使屬性名相同,相互也不會發生衝突 我們把這種分組編寫 的模式叫做 單例模式 在單例模式中我們把person1和person2也叫做 命名空間 var person1 var ...