|
C语言编写函数,将一个数据插入有序数组中,插入后数组仍然有序。提示:主函数中定义int array[10]={1,2,3,5,6,7,8,9,10},并读入插入数据n=4,调用函数void fun(int b[ ],n)实现插入。
- #include <stdio.h>
- void fun(int b[], int n) {
- int i, j;
- // 找到插入位置
- for (i = 0; i < 10; i++) {
- if (b[i] > n) {
- break;
- }
- }
- // 后移元素
- for (j = 9; j > i; j--) {
- b[j] = b[j - 1];
- }
- // 插入元素
- b[i] = n;
- }
- int main() {
- int array[10] = { 1, 2, 3, 5, 6, 7, 8, 9, 10 };
- int n, i;
- printf("请输入要插入的数据:");
- scanf("%d", &n);
- fun(array, n);
- printf("插入后的数组为:");
- for (i = 0; i < 10; i++) {
- printf("%d ", array[i]);
- }
- printf("\n");
- return 0;
- }
复制代码 在这个示例中,我们首先在主函数中定义了一个有序数组 array ,然后从用户输入中读取要插入的数据 n 。接下来,我们调用 fun 函数来实现插入操作。在 fun 函数中,我们使用两个循环来找到插入位置并进行元素的后移和插入操作。最后,我们在主函数中打印插入后的数组。
请注意,这只是一个简单的示例,假设数组中有足够的空间来插入新的元素。在实际应用中,可能需要对数组的长度进行动态管理或使用动态数组。
|
|