HDU - 2019 数列有序!
2017-11-04 10:06
429 查看
题目
有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
想法
看到这题,我想到将他插进去,然后全部输出。直到我AC之后学习别人的代码才发现,还有一种思路是,直接输出。下面的c代码是按照这个想法实现的。java代码是把他插入数组,然后sort(),直接输出。
java代码
import java.util.Arrays; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner it = new Scanner(System.in); while(it.hasNext()) { int n = it.nextInt(); int m = it.nextInt(); if(n==0&&m==0)break; int a[]=new int[n+1]; for(int i=0;i<n;i++) a[i]=it.nextInt(); a =m; Arrays.sort(a); for(int i=0;i<=n;i++) { if(i!=0)System.out.print(" "); System.out.print(a[i]); } System.out.println(); } } }
c代码
#include<stdio.h> int main() { int a[100];int n,m; while(scanf("%d %d",&n,&m)!=EOF){ if(n==0&&m==0)break; int b=0; for(int i=0;i<n;i++){ scanf("%d",&a[i]); if(a[i]<m){printf("%d ",a[i]);} else { if(b==0){printf("%d",m);b++;} printf(" %d",a[i]); } } printf("\n"); } return 0; }
个人博客:陪你一起终身学习!|岳金钊&个人博客
相关文章推荐
- hdu 2019 数列有序!
- HDU 2019 数列有序!(水~)
- hdu 2019 数列有序!
- hdu 2019 数列有序!
- hdu 2019:数列有序!(数据结构,直接插入排序+折半插入排序)
- hdu 2019 数列有序
- hdu_2019_数列有序!
- hdu 2019 数列有序!
- hdu 2019 数列有序!
- HDU 2019 数列有序
- HDU_ACM-2019 数列有序
- 第一次用链表。一道简单的题 hdu 2019 数列有序
- HDU_2019 数列有序!
- hdu2019——数列有序解题报告
- hdu 2019 数列有序!
- hdu-2019-数列有序!
- HDU 2019 - 数列有序 ( 插入排序 )
- HDU 2019 数列有序!
- HDU 2019 数列有序!
- HDU-2019(数列有序!)(逗号运算符和逻辑运算符)