原题链接:[编程入门]选择排序
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 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复