選擇排序法| C++與演算法
文章推薦指數: 80 %
選擇排序法(Selection Sort). 生活中經常要用到排序、分類,例如:. 將成績由高到低排序; 將喜好程度由高到低排序; 將可回收的垃圾分類; 將筆電的價錢排序 .
課程介紹
0.1.
為什麼要學程式設計?
1.
關於作者
2.
程式是什麼
3.
C++入門
3.1.
編輯器Dev-C++
3.2.
基本架構與輸出
3.2.1.
除法/
3.2.2.
取餘數%
3.3.
變數
3.3.1.
變數型態與變數宣告
3.3.2.
輸出變數值
3.3.3.
指派變數值
3.3.4.
輸入變數值
3.3.4.1.
題目-我想長高
3.3.4.1.1.
解答
3.3.4.2.
題目-剩多少錢?
3.3.4.2.1.
解答
3.3.4.3.
題目-等我一下
3.3.4.3.1.
解答
3.3.5.
重複輸入
3.3.5.1.
題目-多項式計算
3.3.5.1.1.
解答
3.3.5.2.
題目-哈囉
3.3.5.2.1.
解答
3.3.6.
思考問題:變數交換
3.3.6.1.
解答
3.4.
if條件式
3.4.1.
if-else條件式
3.5.
條件運算
3.5.1.
關係運算
3.5.1.1.
題目-判斷倍數
3.5.1.1.1.
解答
3.5.2.
邏輯運算
3.5.3.
題目-我能結婚嗎?
3.5.3.1.
解答
3.5.4.
題目-三角形邊長
3.5.4.1.
解答
3.5.5.
題目-上學去吧!
3.5.5.1.
解答
3.6.
巢狀if
3.7.
迴圈
3.7.1.
while迴圈
3.7.2.
while與數列
3.7.3.
題目-找出所有因數
3.7.3.1.
解答
3.7.4.
題目-判斷質數
3.7.4.1.
解答
3.7.5.
題目-有幾位數
3.7.5.1.
解答
3.7.6.
跳出迴圈break
3.7.7.
題目-Feynman
3.7.7.1.
解答
3.8.
陣列
3.8.1.
題目-翻轉吧,身高!
3.8.1.1.
解答
3.8.2.
題目-成績查詢系統
3.8.2.1.
解答
3.8.3.
題目-關注學生
3.8.3.1.
解答
3.8.4.
題目-存存提提
3.8.4.1.
解答
4.
小試身手
4.1.
ZeroJudge-兩光法師占卜術
4.1.1.
解答
4.2.
UVA-BacktoHighSchoolPhysics
4.2.1.
解答
4.3.
判斷閏年
4.3.1.
解答
4.4.
UVA-Zapping
4.4.1.
解答
4.5.
UVA-DangerousDive
4.5.1.
解答
4.6.
UVA-BoxofBricks
4.6.1.
解答
4.7.
ZeroJudge-Sagit's計分程式
4.7.1.
解答
4.8.
質因數分解
4.8.1.
解答
4.9.
3n+1猜想
4.9.1.
測試資料
4.9.2.
解答
4.10.
UVA-3n+1
4.10.1.
解答
5.
C++基礎
5.1.
單選判斷if-elseif-else
5.2.
for迴圈
5.3.
運算式簡寫
5.4.
巢狀迴圈
5.4.1.
題目-直角三角形製造機
5.4.1.1.
解答
5.4.2.
題目-金字塔製造機
5.4.2.1.
解答
5.4.3.
題目-九九乘法表
5.4.3.1.
解答
5.5.
選擇排序法
5.6.
函式
5.6.1.
內建函式
5.6.2.
自訂函式
5.7.
遞迴
5.7.1.
費氏數列
5.7.2.
輾轉相除法
5.8.
文字處理-字元與字串
5.8.1.
字元(char)
5.8.1.1.
跳脫字元
5.8.2.
字串(string)
5.8.3.
文字處理函式
5.9.
貪婪演算法(Greedy)
5.10.
堆疊(stack)資料結構
5.10.1.
題目-小呆的決心
5.10.1.1.
解答
PublishedusingGitBook
A
A
Serif
Sans
White
Sepia
Night
Twitter
Google
Facebook
Weibo
Instapaper
C++與演算法
選擇排序法(SelectionSort)
生活中經常要用到排序、分類,例如:
將成績由高到低排序
將喜好程度由高到低排序
將可回收的垃圾分類
將筆電的價錢排序
...
對電腦來說,我們可以將排序問題轉化成以下形式
題目-排序
輸入說明
第1列:1個整數N,代表接下來有幾個數字。
(1<=N<=100)
第2列:N個待排序的整數
輸出說明
將輸出由小到大排序
input
12
502576381958298844221134
output
111922252934384450587688
處理排序問題有很多方法,以下介紹其中一種適合入門的選擇排序法
概念
將數字們分成2類,未排序和已排序
一開始所有數字都是未排序
重複N次:
從未排序的數字中挑出最小的數字,放入已排序的最尾端。
依照上述
第1次可以挑到所有數字中第1小的數字(最小的數字)
第2次可以挑到所有數字中第2小的數字
...
第N次可以挑到所有數字中第N小的數字(最大的數字)
最後就由小到大排完了
實際操作
已排序
未排序
空
502576381958298844221134
11
5025763819582988442234
1119
50257638582988442234
111922
502576385829884434
11192225
5076385829884434
1119222529
50763858884434
111922252934
507638588844
11192225293438
5076588844
1119222529343844
50765888
111922252934384450
765888
11192225293438445058
7688
1119222529343844505876
88
111922252934384450587688
空
code
想像在sort裡的for(i=0;i
延伸文章資訊
- 1選擇排序(Selection Sort) - 寫點科普Kopuchat
選擇排序的原理是每次都在剩下的資料中找出最小的資料,將該資料丟到當前的正確位置。 歡迎參考 edX 上開授的CS 50 課程示範影片: ...
- 2演算法:選擇排序法,插入排序法,氣泡排序法 - 鄭正正
演算法:選擇排序法,插入排序法,氣泡排序法 · 第一回合:找出最小的1,加到空的數列 · 第二回合:找出最小的5,加到1之後 · 第三回合:找出最小的7,加 ...
- 3【Day22】[演算法]-選擇排序法Selection Sort - iT 邦幫忙
選擇排序法(Selection Sort),原理是反覆從未排序數列中找出最小值,將它與左邊的數做交換。可以有兩種方式排序,一為由大到小排序時,將最小值放到 ...
- 4選擇排序法(Selection Sort) - HackMD
選擇排序法(Selection sort). 假設我們要使用選擇排序法進行陣列元素由小到大的排序,我們需要從未排序的元素中找到最小值將之與前面的值做交換,下面我直接舉例說明 ...
- 5[演算法] 選擇排序法(Selection Sort)
選擇排序作法:. 將資料分成已排序、未排序兩部份; 依序由未排序中找最小值(or 最大值),加入到已排序部份的末端. 時間複雜度(Time Complexity).