在有序(从小到大)数列中插入若干个数,使插入后的数列仍然保持有序。当输入-1时程序结束。int a[100]={1,48,10};int i,j,x,count=4
时间: 2024-04-29 09:22:18 浏览: 63
以下是插入操作的代码:
```
while (true) {
cin >> x;
if (x == -1) {
break;
}
// 找到第一个大于等于x的位置
for (i = 0; i < count && a[i] < x; i++);
// 将后面的元素全部后移一位
for (j = count - 1; j >= i; j--) {
a[j+1] = a[j];
}
// 插入x
a[i] = x;
count++;
}
```
解释一下,首先我们不断读入新的数x,如果读到-1就结束。接下来要做的是将x插入到数组中合适的位置。我们遍历数组,找到第一个大于等于x的位置,这个位置就是x应该插入的位置。然后我们将这个位置之后的所有元素都后移一位,为x腾出位置,最后将x插入到数组中对应的位置即可。
阅读全文