1、插入排序:插入是比较简单的一种排序方法,基本思想就是把数据分组两段,一部分是有序,另一部分是待排序的。把有序的数据不断的加大到全数组完成排序。
从左到右将有序数组逐渐增大。
public class Sort { public void insertSort(int[] arrays) { for (int i = 0; i < arrays.length; i++) { for (int j = i; j > 0; j--) { if (j == 0) continue; if (arrays[j] < arrays[j - 1]) { sweep(arrays, j, j-1); } } } } //交换两个数的位置 private void sweep(int[] arrays,int a,int b){ int temp=arrays[a]; arrays[a]=arrays[b]; arrays[b]=temp; } public static void main(String[] args) { int[] a = { 49, 38, 65,12,45,5 }; for (int i : a) { System.out.print(i+" "); } System.out.println(); Sort sort=new Sort(); sort.insertSort(a); for (int i : a) { System.out.print(i+" "); } } }
2、冒泡排序:把数组中比较大的数不断的冒在前面。一直冒完整个数据就完成排序。
public class Sort { public void bubbleSort(int[] arrays) { for(int i=0;i<arrays.length;i++){ for(int j=i+1;j<arrays.length;j++){ if(arrays[i]>arrays[j]){ sweep(arrays, i, j); } } } } //交换两个数的位置 private void sweep(int[] arrays,int a,int b){ int temp=arrays[a]; arrays[a]=arrays[b]; arrays[b]=temp; } public static void main(String[] args) { int[] a = { 49, 38, 65,12,45,5 }; for (int i : a) { System.out.print(i+" "); } System.out.println(); Sort sort=new Sort(); sort.bubbleSort(a); for (int i : a) { System.out.print(i+" "); } } }