数据结构和算法
齐_天_大_圣
格物穷理
展开
-
常用排序算法(六)————希尔排序
希尔排序 希尔排序,也叫递减增量排序,是插入排序的一种更高效的改进版本。 在插入排序的基础上,增加了步长的概念。也就是把原始数据分成步长组数据,再对每组数据进行插入排序。这样数据比较一次就可跨越多个数据 qt代码 #include "widget.h" #include <QApplication> #include <QtDebug> void printArry();...原创 2018-11-28 18:42:33 · 171 阅读 · 0 评论 -
常用排序算法(五)————二分插入排序
二分插入排序 取左侧已经排好的数据的中间位置数据,与待排序数据进行比较。小了取右半部分再进行比较,大了取左半部分进行比较。 qt代码 #include "widget.h" #include <QApplication> #include <QtDebug> void printArry(); int arry[10] = {9,1,5原创 2018-11-27 19:09:31 · 1745 阅读 · 0 评论 -
常用排序算法(四)————插入排序
插入排序 从数组中第二个数据开始跟第一个数据比较。如果比第一个小,就放在前面,大于等于第一个就放在后面 qt代码 #include "widget.h" #include <QApplication> #include <QtDebug> void printArry(); int arr原创 2018-11-27 18:15:26 · 155 阅读 · 0 评论 -
常用排序算法(三)————选择排序
选择排序 遍历数据,不交换位置,只查询数据中的最小值,然后依次排序 qt代码 #include "widget.h" #include <QApplication> #include <QtDebug> void printArry(); int arry[10] = {9,1,5,8,3原创 2018-11-24 22:42:10 · 180 阅读 · 0 评论 -
常用排序算法(二)————鸡尾酒排序
冒泡排序的改进:鸡尾酒排序 先向右冒泡移动最大值,再向左冒泡移动最小值。 qt代码 #include "widget.h" #include <QApplication> #include <QtDebug> void printArry()原创 2018-11-24 22:05:16 · 309 阅读 · 0 评论 -
常用排序算法(一)————冒泡排序
冒泡排序算法的运作如下: 1、比较相邻的元素,如果前一个比后一个大,就把它们两个调换位置。 2、对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。这步做完后,最后的元素会是最大的数。 3、针对所有的元素重复以上的步骤,除了最后一个。 4、持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。 qt代码 #include "widget.h" #include <QA...原创 2018-11-24 21:06:42 · 263 阅读 · 0 评论 -
常用排序算法(七)————快速排序
快速排序 1、挑选一个数作为基准(这里以最右侧的数为基准) 2、把小于基准的数,交换位置从最左侧开始放。 3、然后把基准放到最左侧后一位 4、排完基准左侧,排基准右侧 qt代码 #include "widget.h" #include <QApplication> #include <QtDebug> int array[10] = {7,1,5,8,3,9,6,0,2,...原创 2019-08-23 23:41:01 · 199 阅读 · 0 评论