【問題描述】
輸入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 ...