请用C加加完成已知有从小到大排序的一维数列{23,35,110,145,207},后面不断插入新的数据元素。例如插入第1个数为52,则插入后数列变为{23,35,52,110,145,207},插入第2个数为10,插入后数列为{10,23,35,52,110,145,207} Input Format 首先,输入一个数字n,代表一共插入多少个数字。 接着,按顺序输入要插入的n个数字。 Constraints 数字全部是整数,插入的数字不超过10个。 Output Format 输出插入所有数字以后的一维数列,数列之间的数字用空格隔开。

请用C加加完成已知有从小到大排序的一维数列{23,35,110,145,207},后面不断插入新的数据元素。例如插入第1个数为52,则插入后数列变为{23,35,52,110,145,207},插入第2个数为10,插入后数列为{10,23,35,52,110,145,207} Input Format 首先,输入一个数字n,代表一共插入多少个数字。 接着,按顺序输入要插入的n个数字。 Constraints 数字全部是整数,插入的数字不超过10个。 Output Format 输出插入所有数字以后的一维数列,数列之间的数字用空格隔开。
用户634390339
2023年11月11日
|
浏览 136

以下是使用C++完成已知有从小到大排序的一维数列插入新的数据元素的代码:

复制代码
#include <iostream>
using namespace std;

void insertIntoSortedArray(int arr[], int n, int num) {
    int i = n - 1;
    while (i >= 0 && arr[i] > num) {
        arr[i + 1] = arr[i];
        i--;
    }
    arr[i + 1] = num;
}

int main() {
    int n;
    cin >> n;

    int sortedArray[10] = {23, 35, 110, 145, 207};
    int m = 5; // 初始数列长度为5

    for (int i = 0; i < n; i++) {
        int num;
        cin >> num;
        insertIntoSortedArray(sortedArray, m, num);
        m++;
    }

    for (int i = 0; i < m; i++) {
        cout << sortedArray[i] << " ";
    }
    cout << endl;

    return 0;
}

输入示例:

复制代码
3
52
10
99

输出示例:

复制代码
10 23 35 52 99 110 145 207

希望以上代码能够解决你的问题。如果还有其他问题,请随时提问。

我要提问
复制内容
分享给好友
AI编程问答网 免责声明:
以上内容除特别注明外均来源于网友提问,AI编程问答网回答,权益归原著者所有;