常用排序算法(插入排序,快速排序,归并排序,堆排序)
选择排序和冒泡排序 冒泡排序和选择排序的原理和实现比较类似,冒泡排序是按次序将序列中相邻的元素比较,符合条件时交换两者的位置,最后在序列的末尾有一个最大值,除去末尾的数组成新的序列,重复前面的步骤。选择排序是将序列中每个元素和暂存元素进行比较,符合条件时将临时变量和序列中元素交换,最后将最优值(最大或最小)的元素循环地取出。 插入排序 插入排序的概念,就像平时玩扑克一样,将后面来的数插入到前面序列中,在后面的一张插入的时候,前面的序列已经是有序的了。 public class InsertSort { public static void insertSort(int[] a){ int i, j; int n =a.length; int target; for (i = 1; i < n; i++) { j = i; target = a[i]; while (j > 0 && target < a[j-1]) { a[j] = a[j-1]; j--; } a[j] = target; } } public static void main(String[] args){ int[] a={1,5,9,4,10,8,7}; insertSort(a); for(int i= 0;i<a.length;i++){ System.out.print(a[i]+","); } }