1.代码
package com.evior.demo3; /** * 数组的排序 */ public class Sort { /** * 冒泡排序 */ public void sortT1(int [] arr){ for (int i=0;i<arr.length-1;i++){ for (int j=i;j<arr.length-1;j++){ if (arr[i]>arr[j+1]){ int temp; temp=arr[j+1]; arr[j+1]=arr[i]; arr[i]=temp; } } } } /** * 选择排序 * @param arr */ public void sortT2(int[] arr){ int min=0; for (int i=0;i<arr.length-1;i++){ //把第i个元素赋为最小值 min=i; for (int j=i;j<arr.length;j++){ if (arr[j]<arr[min]){ min=j; } } //找出第i+1个最小数 int temp=arr[i]; arr[i]=arr[min]; arr[min]=temp; } } /** * 插入排序 * @param arr * * 2 3 1 0 5 * * 2 3 1 0 5 * * 2 3 3 0 5 * 2 2 3 0 5 * 1 2 3 0 5 * * 1 2 3 3 5 * 1 2 2 3 5 * 1 2 2 3 5 * 0 1 2 3 5 */ public void sortT3(int [] arr){ int temp=0; for (int i=1;i<arr.length;i++){ temp=arr[i]; int j=i; while (j>0&&arr[j-1]>=temp){ arr[j]=arr[j-1]; j--; } arr[j]=temp; } } public void display(int [] arr){ System.out.print("["); for (int i=0;i<arr.length-1;i++){ System.out.print(arr[i]+","); } System.out.print(arr[arr.length-1]+"]"); System.out.println(); } }
2.测试
package com.evior.demo3; public class test { public static void main(String[] args) { int [] arr={2,1,3,5,4}; Sort sort=new Sort(); /*sort.sortT1(arr); sort.display(arr);*/ /* sort.sortT2(arr); sort.display(arr);*/ sort.sortT3(arr); sort.display(arr); } }
3.结果