解题思路:
注意事项:
参考代码:
#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语言代码)浏览:482 |
C语言程序设计教程(第三版)课后习题8.7 (C语言代码)浏览:906 |
蛇行矩阵 (C++代码)(预生成结果以节省每次生成的时间)浏览:822 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:1033 |
【绝对值排序】 (C++代码)浏览:672 |
大小写转换 (C语言代码)浏览:859 |
简单的a+b (C语言代码)浏览:573 |
C语言程序设计教程(第三版)课后习题7.3 (C语言代码)浏览:1195 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:337 |
C语言训练-数字母 (C语言代码)浏览:608 |