摘要: makefile 阅读全文
posted @ 2019-01-08 09:16 程序员进阶笔记 阅读(644) 评论(0) 推荐(0) 编辑
摘要: 附网址:http://qt-project.org/doc/qt-5/qmlapplications.html 附网址:http://qt-project.org/doc/qt-5/qmlapplications.html 如果你对Qt的官方demo感兴趣,可以参考本博客的另一个系列Qt5官方dem 阅读全文
posted @ 2018-07-21 11:59 程序员进阶笔记 阅读(916) 评论(0) 推荐(0) 编辑
摘要: 本栏目专门用来分享与数据结构和算法有关的源码,这些源码都是用心整理的,并且附带了注释、思路解析以及精美图片。重要的是,这些源码都是免费的。 稀疏矩阵的三元组表示(带源码+解析) 头结点和头指针在链表中的作用 链表节点的插入,链表插入节点 哈夫曼(赫夫曼,哈弗曼)编码算法(带源码+解析) 二叉树遍历算 阅读全文
posted @ 2018-05-23 11:12 程序员进阶笔记 阅读(1183) 评论(0) 推荐(0) 编辑
摘要: 链表翻转,简单地理解,就是将链表的头部结点变为链表的尾部结点,与此同时将原链表的尾部结点变成头部结点。如下图所示: 图 1 链表翻转示意图 提示:H 为头指针,图示中的链表无头结点,头指针直接指向首元结点。 将链表进行翻转的方法有多种,本节给大家介绍两种实现方法。 方法一 实现链表翻转最直接的方法就 阅读全文
posted @ 2018-05-23 11:11 程序员进阶笔记 阅读(1380) 评论(0) 推荐(1) 编辑
摘要: 基数排序不同于之前所介绍的各类排序,前边介绍到的排序方法或多或少的是通过使用比较和移动记录来实现排序,而基数排序的实现不需要进行对关键字的比较,只需要对关键字进行“分配”与“收集”两种操作即可完成。 例如对无序表{50,123,543,187,49,30,0,2,11,100}进行基数排序,由于每个 阅读全文
posted @ 2018-05-23 10:53 程序员进阶笔记 阅读(1352) 评论(0) 推荐(0) 编辑
摘要: 本节介绍一种不同于插入排序和选择排序的排序方法——归并排序,其排序的实现思想是先将所有的记录完全分开,然后两两合并,在合并的过程中将其排好序,最终能够得到一个完整的有序表。 例如对于含有 n 个记录的无序表,首先默认表中每个记录各为一个有序表(只不过表的长度都为 1),然后进行两两合并,使 n 个有 阅读全文
posted @ 2018-05-23 10:47 程序员进阶笔记 阅读(955) 评论(0) 推荐(0) 编辑
摘要: 本节介绍三种选择排序算法,分别为:简单选择排序、树形选择排序和堆排序。 简单选择排序 该算法的实现思想为:对于具有 n 个记录的无序表遍历 n-1 次,第 i 次从无序表中第 i 个记录开始,找出后序关键字中最小的记录,然后放置在第 i 的位置上。例如对无序表{56,12,80,91,20}采用简单 阅读全文
posted @ 2018-05-23 10:39 程序员进阶笔记 阅读(5554) 评论(0) 推荐(2) 编辑
摘要: 上节介绍了如何使用起泡排序的思想对无序表中的记录按照一定的规则进行排序,本节再介绍一种排序算法——快速排序算法(Quick Sort)。 C语言中自带函数库中就有快速排序——qsort函数 ,包含在 <stdlib.h> 头文件中。 快速排序算法是在起泡排序的基础上进行改进的一种算法,其实现的基本思 阅读全文
posted @ 2018-05-23 09:45 程序员进阶笔记 阅读(1924) 评论(0) 推荐(0) 编辑
摘要: 起泡排序,别名“冒泡排序”,该算法的核心思想是将无序表中的所有记录,通过两两比较关键字,得出升序序列或者降序序列。 例如,对无序表{49,38,65,97,76,13,27,49}进行升序排序的具体实现过程如图 1 所示: 图 1 第一次起泡 如图 1 所示是对无序表的第一次起泡排序,最终将无序表中 阅读全文
posted @ 2018-05-23 09:38 程序员进阶笔记 阅读(14440) 评论(0) 推荐(3) 编辑
摘要: 希尔排序,又称“缩小增量排序”,也是插入排序的一种,但是同前面几种排序算法比较来看,希尔排序在时间效率上有很大的改进。 在使用直接插入排序算法时,如果表中的记录只有个别的是无序的,多数保持有序,这种情况下算法的效率也会比较高;除此之外,如果需要排序的记录总量很少,该算法的效率同样会很高。希尔排序就是 阅读全文
posted @ 2018-05-23 09:35 程序员进阶笔记 阅读(2803) 评论(0) 推荐(0) 编辑