註冊
登錄
論壇
搜索
幫助
導航
私人消息 (0)
公共消息 (0)
系統消息 (0)
好友消息 (0)
帖子消息 (0)
種子論壇 | 高雄市資訊培育協會學員討論區
»
結訓課程 (青少年程式設計班)
»
C++(二1700)
» 選擇排序
返回列表
發帖
發短消息
加為好友
歐柏罕
當前離線
UID
67963
帖子
304
精華
0
積分
0
閱讀權限
100
在線時間
100 小時
註冊時間
2017-8-9
最後登錄
2018-6-7
版主
1
#
跳轉到
»
倒序看帖
打印
字體大小:
t
T
歐柏罕
發表於 2017-12-5 17:42
|
只看該作者
選擇排序
本帖最後由 歐柏罕 於 2017-12-5 17:46 編輯
選擇排序法(Selection Sort)是排序演算法的一種,也是一種簡單容易理解的演算法,其概念是反覆從未排序的數列中取出最小的元素,加入到另一個的數列,結果即為已排序的數列。運算流程如下:
1.從未排序的數列中找到最小的元素。
2.將此元素取出並加入到已排序數列最後。
3.重複以上動作直到未排序數列全部處理完成。
流程示意圖:
然而實作上通常不使用額外的數列來儲存已排序的部分,而使用原地(In-place)的方式來完成,數列的左半部表示已排序部分,右半部表示未排序部分,不另外使用數列。從未排序部分找到最小的元素,利用交換的方式將元素放置已排序部分的尾端。運算流程如下:
1.從未排序的數列中找到最小的元素。
2.將此元素與已排序部分的尾端元素進行交換。
3.重複以上動作直到未排序數列全部處理完成。
流程示意圖:
附件:
您需要
登錄
才可以下載或查看附件。沒有帳號?
註冊
收藏
分享
發短消息
加為好友
巫沛庭
當前離線
UID
67715
帖子
228
精華
0
積分
0
閱讀權限
10
在線時間
51 小時
註冊時間
2016-1-21
最後登錄
2018-12-30
新手上路
2
#
巫沛庭
發表於 2017-12-5 18:31
|
只看該作者
#include<iostream>
#include<cstdlib>
using namespace std;
int main()
{
int num;
int n[]={1,89,26,18,8,38};
cout<<"排列前:";
for(int i=1;i<6;i++)
cout<<n[i]<<" ";
cout<<endl;
for(int i=1;i<6;i++)
{
for(int j=i+1;j<6;j++)
{
if(n[j]<n[i])
{
num=n[j];
n[j]=n[i];
n[i]=num;
}
}
}
cout<<"排列後:";
for(int i=1;i<6;i++)
cout<<n[i]<<" ";
cout<<endl;
system("pause");
return 0;
}
TOP
發短消息
加為好友
張閎鈞
當前離線
UID
67826
帖子
297
精華
0
積分
0
閱讀權限
10
在線時間
58 小時
註冊時間
2017-2-2
最後登錄
2019-7-5
新手上路
3
#
張閎鈞
發表於 2017-12-5 18:32
|
只看該作者
#include<iostream>
#include<cstdlib>
using namespace std;
int main()
{
int a;
int n[]={12,57,-6,-32,0,23};
cout<<"牌前";
for(int i=0;i<6;i++)
cout<<n[i]<<" ";
cout<<endl;
for(int i=0;i<6;i++)
{
for(int j=i+1;j<6;j++)
{
if(n[j]<n[i])
{
a=n[j];
n[j]=n[i];
n[i]=a ;
}
}
}
cout<<"牌後";
for(int i=0;i<6;i++)
cout<<n[i]<<" ";
cout<<endl;
system("pause");
return 0;
}
複製代碼
TOP
返回列表
C++(104-1六)
Java(五1900)2F
109年APCS程式基礎培訓營 (二)
谷哥人營隊
113Scratch夏令營
113年APCS冬令營
113年Scratch冬令營
113年Python證照特訓營(一)
113年谷哥人程式體驗營
113年國三專班
Python研習營(113_114)
113年Python證照特訓營(二)
113年程式夏令營(一)(二)
113年APCS夏令營(一)(二)
Python研習營
113年Python研習冬令營
112年國三專班
112APCS夏令營(一)(二)
112App快速開發夏令營
C語言 / C++ (特別輔導)
C++證照
C#
家教特輔
C語言特輔/證照(家教)
C++證照
C#
HTML5+CSS+JavaScript+PHP+MySQL
Java 家教 (王捷恩)
113新版塊名稱
快樂學 Scratch
Python 家教 (王捷恩 康恒睿)
Python 特別輔導 (家教)
快樂 C++ (家教)
我愛 Java (家教)
程式解題我最行 (家教)
程式常態班
C++ 新生挑戰區
考照心得分享
快樂 C++11307週五19:00
快樂C++11309週六13:30-15:30
快樂 C++11303 (週六15:40-17:40) 3F
程式解題我最行 (週六15:30-17:30) 3F
快樂 C++ (週六13:30-15:30) 3F
快樂 C++ (週六19:00-21:00) 3F
程式解題我最行 (週六10:00-12:00) 3F
快樂學 Scratch
程式解題我最行(週五19:00-21:00)
快樂 C++ (週六13:30-15:30) 3F
程式解題我最行(週三19:15-21:15)
快樂 C++11207週六10
快樂 C++11208週六19:00
程式解題我最行 (週五19:00-21:00) 3F
快樂 C++ (週六15:30-17:30) 3F
程式解題我最行 (週六19:00-21:00) 3F
程式解題我最行 (週四19:10-21:10)
產投職訓
結訓課程 (產投職訓)
Php & MySQL old
Illustrator old
Dreamweaver old
Android手機程式開發班
PHP & MySQL電子商務互動式網站實作班 (102下)
PHP & MySQL (102上)
PHP & MySQL電子商務互動式網站實作班
Photoshop數位影像設計初階
Flash創意廣告動畫初階
行銷短片視訊剪輯
數位商業攝影實務班
PHP & MySQL電子商務系統開發實務初階班
電子商務系統開發實務中階班
Server基礎架設&動態網頁設計初階班
Java視窗應用程式設計與遊戲開發班
Illustrator時尚插畫創作設計初階班
102上Php & MySQL 初階班
電子商務互動式網站實作中階
Dreamweaver多媒體網頁設計
Android手機程式開發班(2012年10月)
PHP & MySQL (2012年10月)
創意塗鴉
yahoo橫幅
google橫幅
市民學苑
第二屆樂活部落格
第一屆電腦設備簡易維護和故障排除班
專案訓練
電子商務創業班
TQC PHP認證
投資理財班
領隊導遊班
電腦基礎及網路應用身心障礙專班
應用軟體網頁化開發
[收藏此主題]
[關注此主題的新回復]
[通過 QQ、MSN 分享給朋友]