首页 > 解决方案 > 如何在c中从数组的开头插入开始迭代的元素?

问题描述

我已经看到从后端开始迭代的数组中插入元素。但我想知道是否可以从前面插入

标签: arrayscloopsinsertion-sortinsertion

解决方案


我终于想出了一个办法,这里是代码

 #include <stdio.h>
    int main()
    {
        int number = 5; //element to be inserted
        int array[10] = {1, 2, 3, 4, 6, 7, 8, 9};
        int ele, temp;
        int pos = 4; // position to insert
        printf("Array before insertion:\n");
        for (int i = 0; i < 10; i++)
        {
            printf("%d ", array[i]);
        }
        puts("");
    
        for (int i = pos; i < 10; i++)
        {
            if (i == pos) // first element
            {
                ele = array[i + 1];
                array[i + 1] = array[i];
            }
            else // rest of the elements
            {
                temp = array[i + 1];
                array[i + 1] = ele;
                ele = temp;
            }
        }
        array[pos] = number; // element to be inserted
        printf("Array after insertion:\n");
        for (int i = 0; i < 10; i++)
        {
            printf("%d ", array[i]);
        }
    
        return 0;
    }

输出如下所示:

Array before insertion:
1 2 3 4 6 7 8 9 0 0
Array after insertion:
1 2 3 4 5 6 7 8 9 0

推荐阅读