![](https://img-blog.csdnimg.cn/20190918140145169.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
排序算法
排序算法
程序员shy
2021年CSDN博客之星参与奖,「 游戏人生 」系列作者,立志写傻瓜也能看懂的技术文章,博客目标打造前端程序员从小白到大师全流程学习路线。有问题可私聊
展开
-
排序算法简介
排序算法简介所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。排序算法,就是如何使得记录按照要求排列的方法。排序算法在很多领域得到相当地重视,尤其是在大量数据的处理方面。一个优秀的算法可以节省大量的资源。在各个领域中考虑到数据的各种限制和规范,要得到一个符合实际的优秀算法,得经过大量的推理和分析。...原创 2021-12-05 19:49:52 · 613 阅读 · 0 评论 -
快速排序(递归)
快速排序(递归)原创 2021-12-01 16:23:32 · 305 阅读 · 0 评论 -
各排序算法总结
各排序算法总结原创 2021-11-21 11:14:27 · 957 阅读 · 0 评论 -
sort函数排序
sort函数排序sort函数可以对数组直接排序,这个函数可以传两个参数或三个参数。第一个参数是要排序的区间首地址,第二个参数是区间尾地址的下一地址。排序的区间是[a,b)。默认的排序方式是从小到大。如果想从大到小,可以在第三个参数传入greater<数组类型>(),以及可以自定义一个模板函数#include <iostream>#include<algorithm>using namespace std;bool complare(int a, i原创 2021-11-21 11:05:28 · 3658 阅读 · 0 评论 -
归并排序(递归)
归并排序拆分:递归的将当前数组二分(如果N是偶数,两边个数平等,如果是奇数,则一边多一个元素),直到只剩 0 或 1 个元素归并:分别将左右半边数组排序,然后归并在一起形成一个大的有序数组思路:将原数组一直折半拆分,知道拆到最后一个元素,然后开辟临时空间将数组依次合并,最后完成排序#include<iostream>#include<algorithm>#include<cstring>using namespace std;void hb(i原创 2021-11-20 21:42:59 · 409 阅读 · 0 评论 -
选择排序。
选择排序从数组第一个元素开始遍历,第一次将第一个元素的下标记下,然后用这个元素与后面所有元素进行比较,最终确定一个最大的元素的下标再交换(与直接排序很相似)#include <iostream>using namespace std;int main(){ int arr[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; int n = sizeof(arr) / sizeof(arr[0]); for(int i = 0原创 2021-11-20 20:20:21 · 80 阅读 · 0 评论 -
直接排序。
直接排序从数组第一个元素开始向后遍历,用第一个元素与后面所有的元素进行一次比较,然后直接进行交换......#include <iostream>using namespace std;int main(){ int arr[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; int n = sizeof(arr) / sizeof(arr[0]); for(int i = 0; i < n; i++) { .原创 2021-11-20 20:11:21 · 321 阅读 · 0 评论 -
冒泡排序。
冒泡排序:一个数组,相邻两两相比,每次比完确定最后一位,总共需要循环i-1次(i为数组元素个数)#include<iostream>using namespace std;int main(){ int a[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; int len = sizeof(a) / sizeof(a[0]); //总共10个元素 for (int i = 0; i <= len - 1; i++) //外循环需要1原创 2021-10-25 10:54:59 · 70 阅读 · 0 评论