【蓝桥杯】【基础练习01】【数列排序】
2016-04-09 15:42
357 查看
题目:数列排序
问题描述
给定一个长度为n的数列,将这个数列按从小到大的顺序排列。1<=n<=200
输入格式
第一行为一个整数n。
第二行包含n个整数,为待排序的数,每个整数的绝对值小于10000。
输出格式
输出一行,按从小到大的顺序输出排序后的数列。
样例输入
5
8 3 6 4 9
样例输出
3 4 6 8 9
分析:最好的办法是边读取数据,边排序,一直保持一个有序的子数组,然后新来的数插入到合适的位置。
源码:
问题描述
给定一个长度为n的数列,将这个数列按从小到大的顺序排列。1<=n<=200
输入格式
第一行为一个整数n。
第二行包含n个整数,为待排序的数,每个整数的绝对值小于10000。
输出格式
输出一行,按从小到大的顺序输出排序后的数列。
样例输入
5
8 3 6 4 9
样例输出
3 4 6 8 9
分析:最好的办法是边读取数据,边排序,一直保持一个有序的子数组,然后新来的数插入到合适的位置。
源码:
public class Test006 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int[] a = new int ; for(int i=0; i<n; i++){ //读入一个数 a[i] = sc.nextInt(); //将这个数插入到一个有序的子数组中 for(int j=i;j>0; j--){ if(a[j] < a[j-1]){ int temp = a[j-1]; a[j-1] = a[j]; a[j] = temp; }else{ //已经插入到了合适的位置,可以跳出里层循环 break; } } } sc.close(); for(int i=0; i<n; i++){ System.out.print(a[i]+" "); } } }
相关文章推荐
- MySQL命令行登录的例子
- JVM调优总结
- 快速排序_java实现
- Matlab adaptive quadrature
- 利用KindEditor的uploadbutton实现异步上传图片
- 存储器
- busybox应用于android系统
- 每秒处理请求数不等于并发量
- Mysql安全机制
- Docker 常用命令
- LeetCode *** 118. Pascal's Triangle
- [LintCode] 带环链表 II Linked List Cycle II
- 取出数组最大值与最小值
- Ubuntu配置tomcat环境
- 剑指offer练习
- elasticsearch 详解
- 后缀表达式求值
- C/C++程序的内存分配
- JVM性能调优
- leetcode---Count and Say