解题思路:
注意事项:
参考代码:
#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
/* 选择排序 */
void selectionSort( vector<int> &nums)
{
int n = nums.size();
// 外循环:未排序区间为 [i, n-1]
for (int i=0 ;i<n-1;i++)
// 内循环:找到未排序区间内的最小元素
{ int k = i;
for (int j = i + 1 ; j< n; j++)
{
if (nums[k]>nums[j])
k = j ; // 记录最小元素的索引
}
swap(nums[i],nums[k]); // 将该最小元素与未排序区间的首个元素交换
}
}
int main()
{
vector <int> nums(10);
for(int i=0; i<10; i++)
{
cin>>nums[i];
}
selectionSort (nums);
for(int i=0; i<10; i++)
{
cout<<nums[i]<<endl;
}
return 0;
}
0.0分
0 人评分
C二级辅导-计负均正 (C语言代码)浏览:698 |
C语言程序设计教程(第三版)课后习题6.6 (C语言代码)浏览:626 |
C语言程序设计教程(第三版)课后习题6.1 (C语言代码)浏览:582 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:566 |
C语言程序设计教程(第三版)课后习题10.5 (C语言代码)浏览:586 |
1005答案错误为什么浏览:1988 |
删除数组中的0元素 (C语言代码)浏览:2147 |
C语言程序设计教程(第三版)课后习题5.8 (C语言代码)浏览:672 |
C语言程序设计教程(第三版)课后习题1.6 (C语言代码)浏览:939 |
图形输出 (Java代码)浏览:478 |