37、<简单>元素插入有序数组
#include iostream using namespace std; int main() { cout 【输入说明】 ; cout 第1行等待插入的整数n endl; cout 第2行原有序数列元素个数mm ≤ 1000 endl; cout 第3行m个从小到大排列的整数空格分隔 endl; cout 【输出规则】输出插入后保持升序的完整数组空格隔开 endl; int insertNum; cout 请输入待插入数字n; cin insertNum; int m; cout 请输入原数组元素个数m; cin m; int arr[1001]; // 原数组最多1000个插入后最多1001 cout 请输入 m 个升序整数; for (int i 0; i m; i) { cin arr[i]; } // 1. 找到插入位置pos int pos 0; while (pos m arr[pos] insertNum) { pos; } // 2. 从后往前移动元素腾出pos位置 for (int i m; i pos; i--) { arr[i] arr[i - 1]; } // 3. 将数字插入空位 arr[pos] insertNum; // 4. 输出新数组共m1个元素 cout \n插入完成后的有序数组; for (int i 0; i m; i) { if (i 0) cout ; cout arr[i]; } cout endl; return 0; }