将数字按序插入数组\n\n有10-90这9个整数,已按升序存放于长度为10的一维数组中。要求将一整数35插入其中,并保持数组元素仍然有序。
时间: 2023-06-05 22:48:01 浏览: 219
可以使用插入排序的思想,从数组的末尾开始比较,如果待插入的数比当前位置的数小,则将当前位置的数后移一位,直到找到一个位置使得待插入的数比它前面的数大,比它后面的数小,然后将待插入的数插入到这个位置。
具体实现可以参考以下代码:
int arr[10] = {10, 20, 30, 40, 50, 60, 70, 80, 90};
int n = 9; // 数组长度
int x = 35; // 待插入的数
// 从数组末尾开始比较
for (int i = n - 1; i >= ; i--) {
// 如果待插入的数比当前位置的数小,则将当前位置的数后移一位
if (arr[i] > x) {
arr[i + 1] = arr[i];
}
// 找到了待插入的位置
else {
arr[i + 1] = x;
break;
}
}
// 如果待插入的数比数组中所有数都小,则插入到数组的第一个位置
if (arr[] > x) {
arr[] = x;
}
// 输出结果
for (int i = ; i < n + 1; i++) {
cout << arr[i] << " ";
}
// 输出:10 20 30 35 40 50 60 70 80 90
阅读全文