排序
package SortAlgorithm; import java.util.Arrays; public class Algorithm { /** * 选择排序 * @param args */ public static void main(String[] args) { int[]in= {1,8,9,25,11,78,65}; System.out.println("in===="+Arrays.toString(in)); in=test(in); System.out.println("in===="+Arrays.toString(in)); } public static int[] test(int[] arr) { int len = arr.length; int minIndex, temp; for (int i = 0; i < len - 1; i++) { minIndex = i; for (int j = i + 1; j < len; j++) { if (arr[j] < arr[minIndex]) { //寻找最小的数 minIndex = j; //将最小数的索引保存 } } temp = arr[i]; arr[i] = arr[minIndex]; arr[minIndex] = temp; } return arr; } }
package SortAlgorithm; import java.util.Arrays; public class Algorithm {
//冒泡排序 public static void main(String[] args) { int[]in= {1,8,9,25,11,78,65}; System.out.println("in===="+Arrays.toString(in)); in=test(in); System.out.println("in===="+Arrays.toString(in)); } public static int[] test(int[] list) { int len=list.length; for(int i=0;i<len;i++) { for(int j=0;j<len-i-1;j++) { if(list[j]>list[j+1]) { int tem=list[j]; list[j]=list[j+1]; list[j+1]=tem; } } } return list; } }
package SortAlgorithm; import java.util.Arrays; public class Algorithm { /** * 插入排序(Insertion Sort) * @param args */ public static void main(String[] args) { int[]list= {1,8,9,25,11,78,65}; System.out.println("list===="+Arrays.toString(list)); list=test(list); System.out.println("list===="+Arrays.toString(list)); } public static int[] test(int[] arr) { int len = arr.length; int preIndex, current; for (int i = 1; i < len; i++) { preIndex = i - 1; current = arr[i]; while (preIndex >= 0 && arr[preIndex] > current) { arr[preIndex + 1] = arr[preIndex]; preIndex--; } arr[preIndex + 1] = current; } return arr; } }