本章学习了排序这一操作,排序方法分为两大类: 内部排序:不需要访问外存,分为插入类、交换类、选择类、归并类(2-路归并排序)和分配类(基数排序)。 外部排序:不可能在内存中完成。 (一)插入排序 1、直接插入排序 稳定排序,更适合于初始记录基本有序(正序)的情况 1 void InsertSort( ...
分类:
其他好文 时间:
2020-07-12 18:58:36
阅读次数:
54
B站视频截图: 我自己写的ts代码: 效果图: 接着,新增一个插入链表自动根据id排序的方法 addSortById : 效果图: 可以看到我的插入顺序是 1,3,3,2 但是输出的顺序是正确的,1,2,3 ...
分类:
编程语言 时间:
2020-07-12 18:55:29
阅读次数:
59
一、本章知识思维导图 二、第八章知识小结 1. 插入排序 (1) 直接插入排序 对于待排序列中的元素,在已排序列中顺序查找插入位置,将待排元素插入并移动。 (2)折半插入排序 基于直接插入排序,查找插入位置使用折半查找。 (3)希尔排序 将间隔步长d1的两个元素分为一组,组内进行直接插入排序;第二趟 ...
分类:
其他好文 时间:
2020-07-12 18:50:39
阅读次数:
52
一、什么是循环单链表 循环单链表与单链表最本质的区别就是最后一个指针指向的节点不是NULL而是指向头节点,从而形成一个闭环。 所以我们在判断指针是否指向尾节点时候的判断条件就是他的next是否指向头节点。 循环单链表的结构: typedef struct { //定义循环单链表的节点类型 ElemT ...
分类:
其他好文 时间:
2020-07-12 18:33:37
阅读次数:
59
title: ROS机器人GUI程序开发(蒋程杨)-一 date: 2020-07-12 08:35:59 tags: 记录 周末这两天完整的学了一下蒋程杨大佬做的ros的gui开发第二部分。简单做一下记录吧,以便以后能快速的复制粘贴😆,里面包括一些信号和槽函数的链接,编辑回调函数和信号函数,订阅 ...
分类:
其他好文 时间:
2020-07-12 17:02:22
阅读次数:
109
希尔排序:也称递减增量排序算法,是插入排序的一种更高效的改进版本。但希尔排序是非稳定排序算法。 希尔排序是基于插入排序的以下两点性质而提出改进方法的:1,插入排序在对几乎已经排好序的数据操作时,效率高,即可以达到线性排序的效率;2,但插入排序一般来说是低效的,因为插入排序每次只能将数据移动一位; 希 ...
分类:
编程语言 时间:
2020-07-12 16:46:28
阅读次数:
67
一、插入排序 直接插入排序: 一 一比对 折半插入排序:在已经拍好的序列中插入,适合初始记录无序、n较大的情况 直接插入排序代码实现 1 void InsertSort(SqList &L){ 2 //对顺序表L做直接插入排序 3 for(i=2;i<=L.length;++i) 4 if(L.r[ ...
分类:
其他好文 时间:
2020-07-12 16:45:08
阅读次数:
60
##本周完成工作 ####1、进行调研,完善项目方案; ####2、攥写可行性报告; ####3、完成大致系统结构框图。 ##本周进行的学习 ####1、HTML5的相关学习 初步学习了html5的一些知识,包括常用的标签以及相关属性,图片的引入,链接的插入等,还学习了层叠样式表的相关语法,对自己的 ...
分类:
其他好文 时间:
2020-07-12 14:49:24
阅读次数:
66
一、本章小结 1.根据时间复杂度的不同,常见的算法可以分为3大类。 1).O(n²) 的排序算法 冒泡排序 简单选择排序 插入排序:直接插入,折半插入 2).O(n log n) 的排序算法 希尔排序 归并排序 快速排序 堆排序 2.根据是否受到待排序对象初始排列影响,可分为 1)受到待排序对象的初 ...
分类:
其他好文 时间:
2020-07-12 14:30:19
阅读次数:
62
基本概念 阻塞队列(BlockingQueue)是一个支持两个附加操作的队列。这两个附加的操作支持阻塞的插入和移除方法。1)支持阻塞的插入方法:意思是当队列满时,队列会阻塞插入元素的线程,直到队列不满。 2)支持阻塞的移除方法:意思是在队列为空时,获取元素的线程会等待队列变为非空 阻塞队列一共有7种 ...
分类:
其他好文 时间:
2020-07-12 14:21:06
阅读次数:
54