![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
排序算法
你kin
这个作者很懒,什么都没留下…
展开
-
冒泡排序以及代码实现
冒泡排序:不断循环地遍历过数据元素,依次比较两个相邻的数据元素,如果第一个比第二个大就把他们交换过来。冒泡排序的工作就是重复地进行这种交换的工作直到没有相邻数据元素需要交换。基本思路:比较相邻的元素。如果第一个比第二个大,就交换他们两个。对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。代码C++void BubbleSort(vector<int>& arr, int n){ int end = n; while (原创 2020-12-15 21:03:40 · 108 阅读 · 0 评论 -
归并排序算法以及代码实现
归并排序:归并排序算法是采用分治法将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为二路归并。基本思路:即先使每个子序列有序,再使子序列段间有序代码C++归并排序void Merge(int arr[], int l, int q, int r){ int n = r - l + 1;//定义临时数组存合并后的有序序列 int* tmp = new int[n]; int i = 0; int原创 2020-12-13 20:21:37 · 780 阅读 · 0 评论 -
插入排序算法以及代码实现
插入排序:插入排序是指在待排序的元素中,假设前面n-1(其中n>=2)个数已经是排好顺序的,现将第n个数插到前面已经排好的序列中,然后找到合适自己的位置,使得插入第n个数的这个序列也是排好顺序的。按照此法对所有元素进行插入,直到整个序列排为有序的过程,称为插入排序,一般也称为直接插入排序,适合当排序元素个数少时使用。基本思想:将需要排序的数据按其关键码值的大小逐个插入到一个已经排序好的有序序列中,直到所有数据插入完为止,得到一个新的有序序列。代码C++直接插入排序void InsertSo原创 2020-12-12 21:06:39 · 517 阅读 · 0 评论