![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
法师的魔法学院
这个作者很懒,什么都没留下…
展开
-
排序算法
排序的概念概念排序是计算机内经常进行的一种操作,其目的是将一组无序的数据元素调整为有序的数据元素的过程。操作比较:任意两个数据元素通过比较操作确定先后次序。//比较数组中两个数据if (arr[i] > arr[j]) //arr[i]大于arr[j]else //arr[i]小于arr[j]交换:数据元素之间需要交换才能得到预期结果。//数据交换函数vo...原创 2019-08-02 23:39:00 · 376 阅读 · 0 评论 -
排序算法-冒泡排序
冒泡排序原理**冒泡排序(Bubble Sort)**排列的序列,较大(或较小)的数据会“浮”到序列的顶端(或底部)。冒泡排序原则:比较两个相邻的数组元素,使起满足条件交换元素位置,直到n-1轮循环操作结束。实现从头部开始,比较相邻的两个元素arr[j]和arr[j+1],如果前一个元素比后一个元素大,进行数据交换。下标向后移动,即使j=j+1,再次比较元素arr[j]和ar...原创 2019-08-02 23:43:33 · 130 阅读 · 0 评论 -
排序算法-插入排序
插入排序原理直接插入排序(Straight Insertion Sort) 基本操作是:将一个记录插入到已经排好序的有序数据中,从而得到一个新的、记录数增加1的有序表。实现把待排序序列视为两部分:一部分为有序序列,通常在排序开始之时将序列中的第一个数据视为一个有序序列;另一部分为待排序序列,有序序列之后的数据视为待排序序列。在排序开始之时,从序列头部到尾部逐个选取数据,与有序...原创 2019-08-03 00:19:55 · 182 阅读 · 0 评论 -
排序算法-希尔排序
希尔排序原理**希尔排序(Shell Sort)**的基本思想是:先取定一个小于序列元素个数的整数作为增量,把序列的全部元素分成增量个组,所有相互之间距离为增量整数倍的元素放在同一个组中,在各组内进行直接插入排序。实现将一个数据序列按照增量进行分组。将各个分组的数据进行直接插入排序。更新增量,同时增量大于零在进行分组并排序。代码 //定义数组 int arr[10] ...原创 2019-08-14 00:35:33 · 154 阅读 · 0 评论 -
排序算法-堆排序
堆排序原理**堆排序(Heaps Sort)**是指利用堆这种数据结构所设计的一种排序算法。堆积是一个近似完全二叉树的结构,并同时满足堆积的性质:即子结点的键值或索引总是小于(或者大于)它的父节点。堆排序可以说是一种利用堆的概念来排序的选择排序。分为两种方法:大顶堆(大根堆):每个节点的值都大于或等于其子节点的值,在堆排序算法中用于升序排列;小顶堆(小根堆):每个节点的值都小于或等...原创 2019-08-14 00:38:00 · 156 阅读 · 0 评论 -
排序算法-递归排序
递归排序原理**归并排序(Merge Sort)**的基本思想是:将两个序列合并在一起,并且使之有序。该算法是采用**分治法(Divide-and-Conquer)**的经典的应用。归并排序是一种稳定的排序方法。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为2-路归并实现把长度为n的输入序列分成两个长度为...原创 2019-08-14 00:50:27 · 4446 阅读 · 0 评论 -
排序算法-快速排序
快速排序原理**快速排序(Quick Sort)**是对冒泡排序的改进。快速排序的基本思想是:通过一趟排序,将序列中的数据分割为两部分,其中一部分的所有数值都比另一部分的小;然后按照此种方法,对两部分数据分别进行快速排序,直到参与排序的两部分都有序为止。实现将序列划分为如上所述的两部分:需要在开始的时置一个参考值,通过与参考值的比较来划分数据;重新排序数列,所有元素比基准值小...原创 2019-08-14 01:10:01 · 164 阅读 · 0 评论 -
排序算法-选择排序
选择排序原理**选择排序(Selection Sort)**是从待排序的序列中选出最大值(或最小值),交换该元素与待排序序列头部元素,直到所有待排序的数据元素排序完毕为止。实现第一趟从n个元素的数据序列中选出关键字最小(或最大)的元素并放到最前(或最后)位置。下一趟再从n-1个元素中选出最小(大)的元素并放到次前(后)位置。以此类推,经过n-1趟完成排序。代码 //定义...原创 2019-08-02 23:47:38 · 149 阅读 · 0 评论