有序序列插入一个整数

有序序列插入一个整数

https://ac.nowcoder.com/acm/contest/68239/N

有一个有序数字序列,从小到大排序,将一个新输入的数插入到序列中,保证插入新数后,序列仍然是升序。本题要先判断位置,然后将该位置换成插入的数,并记录其位置,再将剩余的数倒着放回数组,即可。详见代码:#include #include #include const int N=1e7; int a[N]; #define endl '\n' using namespace std; int main() {

int n,insert,x;
cin>>n;
for(int i=0;i<n;i++)
{
	cin>>a[i];
}
cin>>insert;
for(int i=0;i<n;i++)
{
	if(insert>a[i])
	{
		a[n]=insert;
	}
	}
for(int i=0;i<n;i++)
{
	if(insert>=a[i]&&insert<=a[i+1])
	{
	x=i+1;
	
	break;	
	}
}
for(int i=n-1;i>=x;i--)
{
	a[i+1]=a[i];
}
	a[x]=insert;
for(int i=0;i<=n;i++)
{
	cout<<a[i]<<" ";
}


return 0;

}

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务