写一个函数用选择法将n个整数由大到小排序,主函数通过键盘输入10个整数 然后通过函数调用实现排序
1条回答 默认 最新
抬头见山 2021-06-18 16:31关注#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; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?评论 打赏 举报解决 1无用 1