冒泡排序:(逐层输出:每循环一次,输出一次)
package work;
public class one {
public static void main(String[] args) {
// TODO Auto-generated method stub
int[] arr= {3,44,38,5,47,15,36,26,27,21,};
System.out.println("排序前数组为:");
for(int num:arr) {
System.out.print(num+" ");
}
for(int i=0,f=1;i<arr.length-1;i++,f++) {
//外层循环控制趟数
for(int j=0;j<arr.length-1;j++) {
//内层循环控制每一趟排序次数
if(arr[j]>arr[j+1]) {
int temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
System.out.println();
System.out.println("排序过程 "+f+":");
for(int num:arr) {
System.out.print(num+" ");
}
System.out.print("");
}
System.out.println("");
System.out.println("排序后的数组为:");
for(int num:arr) {
System.out.print(num+" ");
}
}
}
选择排序
package work;
import java.util.Arrays;
public class two {
public static void main(String[] args) {
// TODO Auto-generated method stub
int[] arr= {3,44,38,5,47,15,36,26,27,21,};
System.out.println("排序前数组:"+Arrays.toString(arr));
System.out.println("---------------------------------------------------------");
two.selectSort(arr);
System.out.println("---------------------------------------------------------");
System.out.println("排序后数组:"+Arrays.toString(arr));
}
public static void selectSort(int arr[]) {
int tmp,minindex = 0;
for(int i=0,f=1;i<arr.length-1;i++,f++){
minindex=i;
for(int j=i;j<arr.length-1;j++){
if(arr[minindex]>arr[j+1]){
minindex=j+1;
}
}
tmp=arr[minindex];
arr[minindex]=arr[i];
arr[i]=tmp;
System.out.println("开始选择排序第"+f+"次:"+Arrays.toString(arr));
}
}
}