當前位置:
首頁 >
第67课 选择排序 改进例67.1 《小学生C++编程入门》
發布時間:2025/3/15
21
豆豆
生活随笔
收集整理的這篇文章主要介紹了
第67课 选择排序 改进例67.1 《小学生C++编程入门》
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
#include<iostream>
using namespace std;
int a[10001];
int main()
{int n,i,j,k;cin>>n; for(i=1;i<=n;i++) cin>>a[i];for(i=1;i<n;i++) //i控制當前序列最小值存放的位置 { k=i;for(j=i+1;j<=n;j++) //在當前待排序區中選最小值a[k] if(a[j]<a[k]) k=j;if(k!=i)swap(a[i],a[k]);//交換a[i]和a[k],將當前最小值放入a[i]中 }for(i=1;i<=n;i++)cout<<a[i]<<" ";return 0;
}
/* 1. 選擇排序 (1) 基本思想:每一趟從待排序的數據元素中選出最小(或最大)的一個元素, 順序放在待排序的數列的最前,直到全部待排序的數據元素排完。 (2)排序過程:【示例】: 初 始 關鍵字 [49 38 65 97 76 13 27 49] 第一趟排序后 13[49 65 97 76 38 27 49] 第二趟排序后 13 27[65 97 76 49 38 49] 第三趟排序后 13 27 38 [97 76 65 49 49] 第四趟排序后 13 27 38 49 [97 76 65 49] 第五趟排序后 13 27 38 49 49 [97 76 65] 第六趟排序后 13 27 38 49 49 65 [97 76] 第七趟排序后 13 27 38 49 49 65 76 [97] 最后排序結果 13 27 38 49 49 65 76 97 */ #include<iostream> using namespace std; const int MAXN=10001; int main() { int n,k,i,j;float temp,a[MAXN];//輸入n個數cin>>n;for (i=0;i<n;i++){cin>>a[i]; }for (i=0;i<n;i++) //i控制當前序列中最小值存放的數據位置 n{k=i;//在當前無序區a[i..n]中選最小的元素a[k]for (j=i+1;j<n;j++)if (a[j]<a[k]) k=j;//交換a[i]和a[k],將當前最小值放到a[i]位置if ( k != i ) {temp=a[i];a[i]=a[k];a[k]=temp;}}for (i=0;i<n;i++){cout<<a[i]<<" ";}return 0; }
/* 1. 選擇排序 (1) 基本思想:每一趟從待排序的數據元素中選出最小(或最大)的一個元素, 順序放在待排序的數列的最前,直到全部待排序的數據元素排完。 (2)排序過程:【示例】: 初 始 關鍵字 [49 38 65 97 76 13 27 49] 第一趟排序后 13[49 65 97 76 38 27 49] 第二趟排序后 13 27[65 97 76 49 38 49] 第三趟排序后 13 27 38 [97 76 65 49 49] 第四趟排序后 13 27 38 49 [97 76 65 49] 第五趟排序后 13 27 38 49 49 [97 76 65] 第六趟排序后 13 27 38 49 49 65 [97 76] 第七趟排序后 13 27 38 49 49 65 76 [97] 最后排序結果 13 27 38 49 49 65 76 97 */ #include<iostream> using namespace std; const int MAXN=10001; int main() { int n,k,i,j;float temp,a[MAXN];//輸入n個數cin>>n;for (i=0;i<n;i++){cin>>a[i]; }for (i=0;i<n;i++) //i控制當前序列中最小值存放的數據位置 n{k=i;//在當前無序區a[i..n]中選最小的元素a[k]for (j=i+1;j<n;j++)if (a[j]<a[k]) k=j;//交換a[i]和a[k],將當前最小值放到a[i]位置if ( k != i ) {temp=a[i];a[i]=a[k];a[k]=temp;}}for (i=0;i<n;i++){cout<<a[i]<<" ";}return 0; }
?
?
?
?
?
?
?
?
總結
以上是生活随笔為你收集整理的第67课 选择排序 改进例67.1 《小学生C++编程入门》的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 1.9 编程基础之顺序查找 03 不高兴
- 下一篇: 游戏开发使用的各个主流引擎对比