写一个函数用选择法将n个整数由大到小排序,主函数通过键盘输入10个整数 然后通过函数调用实现排序
1条回答 默认 最新
- 抬头见山 2021-06-18 08: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