目录
一、选择法这是每一个数出来跟后面所有的进行比较
1.选择法
package liti;
import java.util.Scanner;
public class Xuanze {
public static void main(String[] args) {
// TODO Auto-generated method stub
//对10个整数进行按照从小到大的顺序排序
Scanner ss=new Scanner(System.in);
//分配十个空间
int[] a=new int[10];
for(int i=0;i<10;i++){
//获取十个数,因为从0开始所以i+1
System.out.println("第"+(i+1)+"个数");
a[i]=ss.nextInt();
}
System.out.println("排序之前");
//用增强for循环
for(int b:a){
System.out.print(b+" ");
}
System.out.println();
int temp=0;
//i为前面的数,j为后面的数所以是i+1
for(int i=0;i<9;i++){
for(int j=i+1;j<10;j++){
if(a[i]>a[j]){
temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
}
System.out.println("排序之后");
for(int c:a){
System.out.print(c+" ");
}
}
}
运行结果:
二.冒泡排序法,是两个相邻的进行对比
1.冒泡排序
package liti;
import java.util.Scanner;
public class Maopao {
public static void main(String[] args) {
// TODO Auto-generated method stub
// //对10个整数进行按照从小到大的顺序排序
Scanner ss= new Scanner(System.in);
int[] num = new int[10];
for(int i=0;i<10;i++){
System.out.println("输入第"+(i+1)+"个数");
num[i]=ss.nextInt();
}
System.out.println("排序之前");
for(int i=0;i<10;i++){
System.out.print(num[i]+" ");
}
System.out.println();
//外层循环控制比较轮数,外层是长度-1
for(int i=0;i<num.length-1;i++){
//内层循环,循环变量,内层长度是-1-i
for(int j=0;j<num.length-1-i;j++){
//比如j是第一数,j+1是后面的数
if(num[j]>num[j+1]){
//交换数据
int temp=num[j];
num[j]=num[j+1];
num[j+1]=temp;
}
}
}
System.out.println("排序之后");
for(int i=0;i<num.length;i++){
System.out.print(num[i]+" ");
}
}
}
运行结果: