• 数列有序


    Problem Description
    有n(n<=100)个整数,已经按照从小到大顺序排列好,现在另外给一个整数x,请将该数插入到序列中,并使新的序列仍然有序。
     

    Input
    输入数据包含多个测试实例,每组数据由两行组成,第一行是n和m,第二行是已经有序的n个数的数列。n和m同时为0标示输入数据的结束,本行不做处理。
     

    Output
    对于每个测试实例,输出插入新的元素后的数列。
     

    Sample Input
    3 3 1 2 4 0 0
     

    Sample Output
    1 2 3 4
    #include<stdio.h>
    int main()
    {
    	int m,n,a[100],b,c,i,j;
    	while(scanf("%d%d",&n,&m),n||m)
    	{
    		for(i=0;i<n;i++)
    		scanf("%d",&a[i]);
    		for(i=0;i<n;i++)
    		{
    			if(a[i]<m&&a[i+1]>=m)
    			{
    				j=i+1;break;
    			}
    		}
    		for(i=0;i<j;i++)
    		printf("%d ",a[i]);
    		printf("%d ",m);
    		for(i=j;i<n-1;i++)
    		printf("%d ",a[i]);
    	    printf("%d
    ",a[n-1]);
    	}
    	return 0;
    } 
    #include<stdio.h>
    #include<string.h>
    #include<algorithm>
    using namespace std;
    int n,m,a[1010];
    int main()
    {
    	while(scanf("%d%d",&n,&m),m||n)
    	{
    		for(int i=0;i<n;i++)
    		scanf("%d",&a[i]);
    		a[n]=m;
    		sort(a,a+n+1);//快速排序函数 
    		for(int i=0;i<n;i++)
    		printf("%d ",a[i]);
    		printf("%d
    ",a[n]);
    	}
    	return 0;
    }
    #include<stdio.h>
    #include<string.h>
    int n,m,a[1010];
    int main()
    {
    	while(scanf("%d%d",&n,&m),m||n)
    	{
    		for(int i=0;i<n;i++)
    		scanf("%d",&a[i]);
    		a[n]=m;
    		int t;
    		for(int i=0;i<=n;i++)//冒泡排序 
    		for(int j=i+1;j<=n;j++)
    		{
    			if(a[i]>a[j])
    			{
    				t=a[i];
    				a[i]=a[j];
    				a[j]=t;
    			}
    		}
    		for(int i=0;i<n;i++)
    		printf("%d ",a[i]);
    		printf("%d
    ",a[n]);
    	}
    	return 0;
    }
    


  • 相关阅读:
    TC SRM 591 (Div2. Practice only)
    SDL2 简单实现图片缩放移动查看
    Linux下socket编程 address already in use 问题
    POJ 2155 二维树状数组
    OJ开发笔记(1)
    开通博客啦~
    [转]STL transform算法中使用toupper函数
    Monkey and Banana HDU 1069
    Ignatius and the Princess IV HDU 1029
    Dungeon Master POJ 2251
  • 原文地址:https://www.cnblogs.com/playboy307/p/5273866.html
Copyright © 2020-2023  润新知