s99q


私信TA

用户名:20206805

访问量:17570

签 名:

在否定中提升自己

等  级
排  名 290
经  验 5662
参赛次数 0
文章发表 91
年  龄 19
在职情况 学生
学  校 东大
专  业 软件工程

  自我简介:

代码是大一上学期写的,格式等都不规范,请多包涵。编写的代码,有些是为了练习库函数的使用,所以看着可能比较怪或者难以理解。

import java.util.Scanner;
import java.util.Arrays;

public class Main {
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		int N = 10;
		int[] a = new int[N];
		for(int i = 0;i < N;i++) {              
			a[i] = scanner.nextInt();
		}
		if(a[0] > a[1]) {       // 先取出两个有序的数(在这里是升序排列)
			int t = a[0];      //事实上,也可以进行只取出一个数
			a[0] = a[1];
			a[1] = t;
		}
		for(int i = 2;i < N;i++ ) {//外层大循环
			if(a[i] < a[0]) {      //内嵌套的选择语句
				int t = a[i];
				for(int j = i;j > 0;j--) {
					a[j] = a[j - 1];
				}
				a[0] = t;
			}
			if(a[i] > a[i - 1]);//什么都不执行:该句可以省去			
			for(int j = 0;j < i;j++) {
				if(a[i] >= a[j] && a[i] < a[j+1]) {
					int t = a[i];
					for(int m = i - 1;m > j ;m --) {
						a[m + 1] = a[m];
					}
					a[j + 1] = t;
				}
			}
		}
		for(int i = 0;i < N;i++) {
			System.out.println(String.format("%d",a[i] ));
		}
	}
}
//本题我是用了选择排序法,过程较为复杂,但是思想较为简单


 

0.0分

0 人评分

  评论区

  • «
  • »