arrays - 如何在c中从数组的开头插入开始迭代的元素?
问题描述
我已经看到从后端开始迭代的数组中插入元素。但我想知道是否可以从前面插入
解决方案
我终于想出了一个办法,这里是代码
#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
推荐阅读
- python - 在 Python 上显示来自 Matlab mat 文件的图像
- java - 用户列表未在 Spring Boot 上显示 - 错误 findAll () 或 thymeleaf
- javascript - Javascript array.filter by element in children
- mysql - MySQL Pivot 将记录转到列出所有数据的列
- vb.net - 如何在不使用位置属性的情况下使用 for 循环创建任何一个动态控件,并且表单应该自动增长
- laravel - 在 Laravel + JWT + Ember JS 上使用社交名流进行身份验证
- azure-devops - VSTS 构建/发布任务中的字典类型输入
- bash - applescript 在 /usr/local/bin 下找不到命令行工具
- wicket - 如何在 repeatingView Wicket 中重复 downloadLink?
- testing - 在初始化函数中使用相对路径在测试中找不到