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

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

[复制链接]

702

主题

1094

帖子

2万

积分

管理员

Rank: 9Rank: 9Rank: 9

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


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


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

输出:
1 2 3 4 5

回复

使用道具 举报

702

主题

1094

帖子

2万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
22159
 楼主| 发表于 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]<< ' ';	
	}
}
回复

使用道具 举报

4

主题

134

帖子

5209

积分

版主

Rank: 7Rank: 7Rank: 7

积分
5209
发表于 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;
}

回复

使用道具 举报

3

主题

36

帖子

1731

积分

金牌会员

Rank: 6Rank: 6

积分
1731
发表于 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;
}
回复

使用道具 举报

4

主题

49

帖子

2119

积分

金牌会员

Rank: 6Rank: 6

积分
2119
发表于 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
	
}
回复

使用道具 举报

11

主题

163

帖子

3170

积分

论坛元老

河豚绿植

Rank: 8Rank: 8

积分
3170
发表于 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

主题

57

帖子

257

积分

中级会员

Rank: 3Rank: 3

积分
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

主题

57

帖子

257

积分

中级会员

Rank: 3Rank: 3

积分
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;
}
回复

使用道具 举报

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

本版积分规则

小黑屋|东台市机器人学会 ( 苏ICP备2021035350号-1;苏ICP备2021035350号-2;苏ICP备2021035350号-3 )

GMT+8, 2024-11-23 16:09 , Processed in 0.044384 second(s), 26 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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