有一个从小到大排列的数组,要求在其中插入一个数,但不改变数组的排序,请编写程序实现。下面是示例样板
基于new bing的编写:
因为看你题目是c语言,就用c语言实现:
#include <stdio.h>
int main() {
int arr[10] = {1, 3, 5, 6, 8, 10, 12, 13, 15, 18}; //定义有序数组,长度为10
int len = sizeof(arr) / sizeof(int); //获取数组长度,这里是10
int insertNum = 7; //要插入的数字
int insertIndex = len; //新数字默认插入到最后一个位置
// 找到新数字要插入的位置
for (int i = 0; i < len; i++) {
if (arr[i] > insertNum) {
insertIndex = i;
break;
}
}
// 把新数字插入到指定位置,其他数字往后移动一位
for (int i = len - 1; i >= insertIndex; i--) {
arr[i + 1] = arr[i];
}
arr[insertIndex] = insertNum;
// 输出插入后的结果
printf("插入后的结果为:");
for (int i = 0; i < len + 1; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
1.表格
2.折线图