赞
踩
数组是C++语言重要的数据结构,对它的一些基本操作要熟练掌握。今天,我们就来讨论,怎么把元素的插入有序数组的问题?
给你一个整数n和一个数列(数列个数不超过1000),这个数列保证从小到大排列,现要求将这个整数n插入到数列中,使新的数列仍然从小到大排列。
第一行一个整数n :等待插入的数 第二行一个整数m :数列中数的个数 第三行m个整数(空格隔开)。
2
4
1 3 4 5
一行整数:新的数列(空格隔开)。
1 2 3 4 5
#include <iostream> using namespace std; int main(){ int n,a[1000],i,x,y; cin >> y; cin >> n; for(i = 0 ; i < n ; i++){ cin >> a[i]; } // 假设没有元素比y大,y应该插入到最后一个元素的后面 x = n; for(i = 0 ; i < n ; i++){ if(a[i] >= y){ x = i; break; } } for(i = n - 1 ; i >= x ; i--){ a[i + 1] = a[i]; } a[x] = y; n++; for(i = 0 ; i < n ; i++){ cout << a[i] << " "; } }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。