排序
文章平均质量分 54
Husky_DQ
小目标年薪百万
展开
-
快速排序
排序原理: 首先设定一个分界值,通过该分界值将数组分为左右两部分 将小于该分界值的元素置于左边,大于的元素置于右边 左右两边独立排序 重复此操作,知道两两排序后返回 public class quick { //交换 public static void exch(Comparable[] a,int i,int j) { Comparable temp; temp=a[i]; a[i]=a[j...原创 2021-12-08 23:47:19 · 298 阅读 · 1 评论 -
归并排序
排序原理 尽可能将数组拆分成两个元素数目相同的子组,对每个子组继续拆分,直至每个组元素为一 将相邻的两个子组合并成一个有序的大组 不断重复步骤2,直至剩下一个组 public class merge { private static Comparable[] assist; private static void exch(Comparable[] x,int a,int b){ Comparable temp; temp=x[...原创 2021-12-08 23:46:15 · 38 阅读 · 1 评论 -
希尔排序
排序原理 选定一个增长量h,按照增长量h作为数据分组的依据,对数据进行分组 对选好的每一组数据完成插入排序 减小增长量,最小值为1,重复第二步操作 h=(array.length+1)/2 public class Shell { public static void sort(Integer[] a) { int h=1; while (h< a.length/2) { ...原创 2021-12-08 23:44:38 · 144 阅读 · 1 评论 -
插入排序
排序原理 将所有的元素分为两组,已排序的和未排序的 找到未排序的元素的第一个,向已排序的组进行插入 倒叙已经排序的数组,与待插入的数组进行比较,知道找到小于待插入元素的元素,那么就把此元素放在这,之后的元素后移一位 public class Insertion { public static void sort(Integer[] a) { for (int i =1; i < a.length; i++) { i...原创 2021-12-08 23:43:22 · 44 阅读 · 1 评论 -
选择排序
排序原理 每一次遍历的过程中,假定第一个元素为最小值,将第一个元素和之后每一个元素作比较,一直到最后,可以找出最小值 交换位置 public class Selection { public static void sort(Integer[] a) { for (int i =0; i < a.length; i++) { int minindex=i; for (int j = i; j <...原创 2021-12-08 23:41:47 · 134 阅读 · 1 评论 -
冒泡排序
排序原理: 比较相邻的元素,如果前一个元素比后一个大,就交换两个元素的位置 对每一对相邻的元素做同样的工作,从开始第一对元素到结尾的最后一对元素,最终最后位置的元素就是最大值 public class Bubble { public static void sort(Integer[] a) { for (int i = a.length; i >=0; i--) { for (int j = 0; j < i-1; ...原创 2021-12-08 23:40:20 · 142 阅读 · 1 评论