首页
Python
Java
前端
数据库
Linux
Chatgpt专题
开发者工具箱
残篇专题
(兔C残篇)数组的基数排序学习笔记
基数排序不同于之前学习过的各类排序,基数排序是通过不断的分配和收集来实现排序的,不需要关键字比较大小的概念。 //code实现过程 import java.util.Arrays;public class ResultArray{public static void main(String[] args){//基数排序:通过分配在收集的方式进行排序int arr[] = {10,40,5,6
阅读更多...
(兔C残篇)归并排序的代码实现和简单讲解
原理: 假设初始序列有N个记录,则可看成是N个有序的子序列,每个子序列的长度为1,然后两两归并,得到N分之2个长度为2或1的有序子序列。再两两归并。。。如此重复,直至得到一个长度为N的有序序列为止,这种排序方法称为两路归并排序。 下面开始代码实现 import java.util.Arrays;public class ArrayValueSort{// 这里我们先进行归并的操作,然后在进行
阅读更多...
(兔C残篇)快速排序的代码实现与讲解
今天周三,这篇博文讲解数组八个基本排序的快速排序。 文章目录 1.快速排序的理论概念2. 举例讲解3. 代码实现 1.快速排序的理论概念 快速排序的思想在于分而治之。 先进行元素大小的比较,然后进行分区 也就是在排序开始时,先取出一个数,把这个数作为基数,然后进行分区, 分区也就是说和这个基数进行大小的比较,比基数大的数或者是等于它的数,全部放到它的右边。然后小于基数
阅读更多...
(兔C残篇)希尔排序的代码实现与讲解
文章目录 1. 概念1.1 傻瓜式指南1.2 举例说明 2. 过程推导第一步2.1 直接插入排序的复习2.2 第一步,初改造 3. 第二步改造4. 第三步改造5. 希尔排序的优化方案5.1希尔排序的重复代码优化5.2 增量值的优化 6. 希尔排序的最终实现方案7. 最终实现方案的说明 1. 概念 希尔排序 又称缩小增量排序。是对直接插入排序的一种优化。 它的基本思想是:
阅读更多...
(兔C残篇)直接插入排序的实现与讲解
文章目录 1.概述2. code 编写3. 数组下标越界异常4. 问题的分析与排查5. code的二次改造6. 改造效果图7. 第二种写法: 两层for嵌套8. 冗余代码抽取 1.概述 直接插入排序方式是一种最简单的排序方法:他的基本操作是将一个记录插入到一个长度为m的有序列表中,使之仍保持有序。 例如:有这样一个数组 int arr[] = {50,10,20,30,
阅读更多...
(兔C残篇)选择排序的代码实现与图文讲解
文章目录 1. 排序过程图解2.选择排序的原理3. code4. 总结 1. 排序过程图解 2.选择排序的原理 从最小索引处开始,依次和后面的元素进行比较,得出的较小元素往前放置,经过排序轮次后,较小的元素在数组的前面。 规律: 元素数量 -1 = 比较的轮数 而每轮比较次数都比上一轮次的比较少一次 3. code public class ReturnInd
阅读更多...
(兔C残篇)冒泡排序的代码实现与图文讲解
文章目录 1. 图片理解2. 文字叙述3. code实现4. 总结 1. 图片理解 2. 文字叙述 经过上述图片的描绘,我们可得知: 总比较轮数:需要比较的轮数,看其数组的长度,也就是有多少个元素值,两两进行比较,arr.length-1 = 需要比较轮数每轮的元素比较次数:知道了比较轮数,那我每轮需要比较多少次? 这是个问题,每轮需要比较的次数,我们可以借助上述
阅读更多...