写一个函数用选择法将n个整数由大到小排序,主函数通过键盘输入10个整数 然后通过函数调用实现排序
#include <iostream>
using namespace std;
void InsertSort(int a[], int n)
{
for (int i = 1; i<n; i++) {
if (a[i] < a[i - 1]) { //若第i个元素大于i-1元素,直接插入。小于的话,移动有序表后插入
int j = i - 1;
int x = a[i]; //复制为哨兵,即存储待排序元素
a[i] = a[i - 1]; //先后移一个元素
while (x < a[j]) { //查找在有序表的插入位置
a[j + 1] = a[j];
j--; //元素后移
}
a[j + 1] = x; //插入到正确位置
}
}
}
int main() {
int a[10];
cout << "请输入10个整数:";
for (int k = 0; k < 10; k++)
cin >> a[k];
InsertSort(a, 10);
cout << "排序后整数序列:";
for (int j = 9; j>=0; j--) {
cout << a[j] << " ";
}
cout << endl;
system("pause");
return 0;
}