数据结构
程序小人生
你的指尖,拥有改变世界的力量!
展开
-
简单选择排序
基本思想:在要排序的一组数中,选出最小(或者最大)的一个数与第1个位置的数交换;然后在剩下的数当中再找最小(或者最大)的与第2个位置的数交换,依次类推,直到第n-1个元素(倒数第二个数)和第n个元素(最后一个数)比较为止。public static int[] selectSort(int[]a,int n){ for(int i = 0;i<n;i++){ fo...原创 2020-03-19 14:27:37 · 367 阅读 · 0 评论 -
希尔排序(缩小增量排序)
原理:希尔排序(Shell Sort)是插入排序的一种。也称缩小增量排序,是直接插入排序算法的一种更高效的改进版本。希尔排序是非稳定排序算法。该方法因DL.Shell于1959年提出而得名。 希尔排序是把记录按下标的一定增量分组,对每组使用直接插入排序算法排序;随着增量逐渐减少,每组包含的关键词越来越多,当增量减至1时,整个文件恰被分成一组,算法便终止。/****dk: 步长*/pub...原创 2020-03-19 10:57:59 · 218 阅读 · 0 评论 -
插入排序
基本思想:将一个记录插入到已排序好的有序表中,从而得到一个新,记录数增1的有序表。即:先将序列的第1个记录看成是一个有序的子序列,然后从第2个记录逐个进行插入,直至整个序列有序为止。插入排序非常类似于整扑克牌。在开始摸牌时,左手是空的。接着,一次从桌上摸起一张牌,并将它插入到左手一把牌中的正确位置上。为了找到这张牌的正确位置,要将它与手中已有的牌从右到左地进行比较。无论什么时候,左手中的牌都是...原创 2020-03-18 18:24:52 · 105 阅读 · 0 评论 -
快速排序
原理:排序算法入参(3个):待排序序列;待排序序列始端index(low);待排序序列末端index(high);//以低位为基准值public static int[] quickSort(int[] a,int low,int high){ //1.结束条件 if(low>=high){ return a; } //2.设置基准值...原创 2020-03-18 17:39:01 · 89 阅读 · 0 评论