找回密码
 中文实名注册
搜索
查看: 1911|回复: 7

1119: 【入门】元素插入有序数组

[复制链接]

725

主题

584

回帖

3万

积分

管理员

积分
31222
发表于 2022-8-13 19:09:08 | 显示全部楼层 |阅读模式
给你一个整数n和一个数列,这个数列保证从小到大排列。
现要求将这个整数n插入到数列中,使新的数列仍然从小到大排列。


输入:
第一行,一个整数x,等待插入的数。
第二行,一个整数n,数列中数的个数。
第三行,n个整数。


输出
一行整数:新的数列(空格隔开)
样例:
输入
2
4
1 3 4 5

输出:
1 2 3 4 5

回复

使用道具 举报

725

主题

584

回帖

3万

积分

管理员

积分
31222
 楼主| 发表于 2022-8-13 19:09:30 | 显示全部楼层
[C++] 纯文本查看 复制代码
#include <iostream>
using namespace std;

int main(){
	int i,n,x,y;
	cin >> x;	// 插入的元素 
	cin >> n;
	int a[n+1];
	
	for(i = 0 ; i < n ; i++){
		cin >> a[i];	
	}
	
	for(i = 0 ; i < n ; i++){
		if(a[i]>=x){
			y=i;
			break;
		}	
	}	
		
	
	for(i = n+1 ; i >y ; i--){
		a[i]=a[i-1];
		}	
		a[y]=x;	
	
	for(i = 0 ; i < n+1 ; i++){
		cout<< a[i]<< ' ';	
	}
}
回复

使用道具 举报

3

主题

69

回帖

78

积分

版主

积分
78
发表于 2022-8-13 19:12:47 | 显示全部楼层
[C++] 纯文本查看 复制代码
#include<iostream>
using namespace std;
int main()
{
	int a,b,c;
	cin>>a;
	cin>>b;
	int www[b+1];
	for(int i=0;i<b;i++)
	{
		cin>>www[i];
	}
	for(int i=0;i<b;i++)
	{
		if(a>www[i]){
		
			c=i+1;
			break;
		}
	}
	for(int i=b-1;i>=c;i--)
	{
		www[i+1]=www[i];
	}
	www[c]=a;
	for(int i=0;i<=b;i++)
	{
		cout<<www[i];
	}
	return 0;
}

回复

使用道具 举报

2

主题

21

回帖

-172

积分

限制会员

积分
-172
发表于 2022-8-13 19:17:32 | 显示全部楼层
[C++] 纯文本查看 复制代码
#include<iostream>
using namespace std;
int main()
{
    int a,b,c;
    cin>>a;
    cin>>b;
    int www[b+1];
    for(int i=0;i<b;i++)
    {
        cin>>www[i];
    }
    for(int i=0;i<b;i++)
    {
        if(a>www[i]){
         
            c=i+1;
            break;
        }
    }
    for(int i=b-1;i>=c;i--)
    {
        www[i+1]=www[i];
    }
    www[c]=a;
    for(int i=0;i<=b;i++)
    {
        cout<<www[i];
    }
    return 0;
}
回复

使用道具 举报

3

主题

29

回帖

1871

积分

金牌会员

积分
1871
发表于 2022-8-13 19:17:38 | 显示全部楼层
[C++] 纯文本查看 复制代码
#include<iostream>
using namespace std;
int main()
{
	int a,b,c;
	cin>>a>>b;
	int we[b];
	for(int i=0;i<b;i++)
	{
		cin>>we[i];
	}
	for(int i=0;i<b;i++)
	{
		if(a>we[i])
		{
			c=i+1;
			break;
		}
	}
	for(int i=b;i>=c;i--)
	{
		we[i+1]=we[i];
	}
	we[c]=a;
	for(int i=0;i<b;i++)
	{
		cout<<we[i];
	}
	return 0;4
	
}
回复

使用道具 举报

8

主题

73

回帖

2767

积分

金牌会员

河豚绿植

积分
2767
发表于 2022-8-20 19:46:38 | 显示全部楼层
[C++] 纯文本查看 复制代码
#include<bits/stdc++.h>
using namespace std;
int main(){
	int a,n,d;
	cin>>a>>n;
	int arr[n+1];
	for(int i=0;i<n;i++){
		cin>>arr[i];
		if(a>=arr[i])
			d=i;
	}
	for(int i=n+1;i>d+1;i--){
		arr[i] = arr[i-1];
	}
	arr[d+1]=a;
	for (int i=0;i<n+1;i++){
		cout<<arr[i]<<"  ";
	}
	cout<<endl;
	return 0;
}
回复

使用道具 举报

1

主题

56

回帖

257

积分

中级会员

积分
257
发表于 2022-9-12 16:43:23 | 显示全部楼层
#include <bits/stdc++.h>
using namespace std;
int main()
{
        int a[2000];
        int x,n,i;
        cin>>x>>n;
        for(i=1;i<=n;i++)
        {
                cin>>a[i];
        }       
        for(i=n;i>=1;i--)
        {
                if(x<a[i])
                {
                        a[i+1]=a[i];
                }
                else
                {
                        break;
                }
        }
        a[i+1]=x;
        for(i=1;i<=n+1;i++)
        {
                cout<<a[i]<<" ";
        }
    return 0;
}
回复

使用道具 举报

1

主题

56

回帖

257

积分

中级会员

积分
257
发表于 2022-9-12 16:43:57 | 显示全部楼层
[C++] 纯文本查看 复制代码
#include <bits/stdc++.h>
using namespace std;
int main()
{
	int a[2000];
	int x,n,i;
	cin>>x>>n;
	for(i=1;i<=n;i++)
	{
		cin>>a[i];
	}	
	for(i=n;i>=1;i--)
	{
		if(x<a[i])
		{
			a[i+1]=a[i];
		}
		else
		{
			break;
		}
	}
	a[i+1]=x;
	for(i=1;i<=n+1;i++)
	{
		cout<<a[i]<<" ";
	}
    return 0;
}
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 中文实名注册

本版积分规则

快速回复 返回顶部 返回列表