码迷,mamicode.com
首页 > 编程语言 > 详细

向数组中插入数(顺序表)

时间:2016-09-01 20:06:59      阅读:201      评论:0      收藏:0      [点我收藏+]

标签:

有一个数组init_list[],数组的为长度n,此时需要向数组中的第i个位置(不是索引为i,而是i-1)插入一个数x。

代码如下:

#include<iostream>
using namespace std;
#define MAXSIZE 100
int init_list[MAXSIZE];
int insert_list(int list[],int *p,int i,int x){
	//之所以用*p是因为:当插入成功的时候,数组的长度要加1
	//如果不用指针的话,便不能改变主函数中n的值
	if(i<0||i>*p){
		cout<<"i输入不合法"<<endl;
	} else  if(*p>=MAXSIZE){
		cout<<"超出数组长度MAXSIZE"<<endl;;
	} else {
		for(int j=*p;j>i;j--){
			//从最后到第i个数组中的数,依次向后移动一个位置,空出第i个位置来存放x
			list[j]=list[j-1];
		}
		list[i]=x;
		(*p)++;//此步容易忘记,若不增加1,则元数组的长度并未改变,就会丢失数组中最后一个数
		cout<<"插入成功"<<endl;
		return 0;
	}
}
int main(){
	int n,x;
	cout<<"请输入数组长度"<<endl;
	cin>>n;
	cout<<endl;
	cout<<"请输入数组元素"<<endl;
	for(int i=0; i<n; i++){
		cin>>init_list[i];
	}
	cout<<endl;
	cout<<"请输入需要插入的位置"<<endl;
	int i;
	cin>>i;
	cout<<"请输入数值"<<endl;
	cin>>x;
	insert_list(init_list,&n,i,x);
	for(int i=0;i<n;i++){
		cout<<init_list[i]<<" ";
	}
}

 

向数组中插入数(顺序表)

标签:

原文地址:http://www.cnblogs.com/-beyond/p/5831060.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!