描述
用选择法对10个整数排序。
输入
输入包含10个整数,用空格分隔。
输出
输出排序后的结果,用空格分隔。
输入样例 1
3 1 4 1 5 9 2 6 5 3
输出样例 1
1 1 2 3 3 4 5 5 6 9
输入样例 2
2 4 6 8 10 12 14 16 18 20
输出样例 2
2 4 6 8 10 12 14 16 18 20
输入样例 3
-3 5 7 1 8 2 4 0 -2 9
输出样例 3
-3 -2 0 1 2 4 5 7 8 9
代码一(如下):不采用指针
#include <iostream>
using namespace std;
int main()
{int a[10];int i,j,k;for (i = 0; i < 10; i++){cin >> a[i];}for (i = 0; i < 10; i++){k = i;for (j = i + 1; j < 10; j++){if (a[k] > a[j])k = j;}int t = a[k];a[k] = a[i];a[i] = t;}for (i = 0; i < 10; i++){cout << a[i]<<" ";}return 0;
}
代码二(如下):采用指针
#include <iostream>
using namespace std;
int exchange(int *);
int main()
{int a[10];int i;int* p = a;for (i = 0; i < 10; i++){cin >> a[i];}exchange(a);for (i = 0; i < 10; i++){cout << a[i]<<" ";}return 0;
}
int exchange(int *p)
{int i, j, k;for (i = 0; i < 10; i++){k = i;for (j = i + 1; j < 10; j++){if (*(p + k) > *(p + j))k = j;}int t = *(p + k);*(p + k) = *(p + i);*(p + i) = t;}return *p;
}