关于C++中数组元素的向后移动问题

风尘流月 2011-11-12 11:14:27
我现在要给数组中插入一个元素,怎样让数组中插入点以后的元素分别向后挪一位???
...全文
1593 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
lc19881029 2011-11-13
  • 打赏
  • 举报
回复
#include<iostream>
using namespace std;
const int N=6;
int main()
{
int array[N]={1,2,4,6,7};
int m=5,i;
cout<<"插入前的数组为:"<<endl;
for( i=0;i!=N-1;i++)
cout<<array[i]<<" ";
int point =4;
for(i=N-1;i>point-1 ;i--)
{
array[i]=array[i-1];
}
array[point-1]=m;
cout<<"插入后的数组为"<<endl;
for( i=0;i!=N;i++)
cout<<array[i]<<" ";
return 0;
}
svcce 2011-11-13
  • 打赏
  • 举报
回复
+1[Quote=引用 1 楼 dizuo 的回复:]
C/C++ code
for(int i=n-1; i > pos; i--)
ptr[i+1] = ptr[i];
ptr[pos] = val; //插入
[/Quote]
xglmsfirst 2011-11-13
  • 打赏
  • 举报
回复
倒着推~~~
让最后一个数=倒数第二个数;
倒数第二个数=倒数第三个数;
直到插入那个元素的位置;
方法很多哦~~~
算法自己多计算
a707000646 2011-11-12
  • 打赏
  • 举报
回复
用循环吧,或者使用容器list来保存,list有自带的方法可以实现
無_1024 2011-11-12
  • 打赏
  • 举报
回复
从最后一个开始

//a[]数组 length 数组元素个数 value要插入的值 point插入位置即要插入的第几个元素
bool Invert( int a[], int &length ,int value, int point )
{
for( int i = length; i >= point; i-- )
{
a[i] = a[i-1];
}
a[point-1] = value;
length++;//长度加1
return true;
}
风尘流月 2011-11-12
  • 打赏
  • 举报
回复
你的意思是说从后面开始啊。。。
[Quote=引用 1 楼 dizuo 的回复:]
C/C++ code

for(int i=n-1; i > pos; i--)
ptr[i+1] = ptr[i];
ptr[pos] = val; //插入
[/Quote]
無_1024 2011-11-12
  • 打赏
  • 举报
回复
循环 实现 也只能循环
或者直接用list容器 vector也行 只是效率差一点
ryfdizuo 2011-11-12
  • 打赏
  • 举报
回复
for(int i=n-1; i > pos; i--)
ptr[i+1] = ptr[i];
ptr[pos] = val; //插入

65,187

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧