
排序
sinat_41479651
这个作者很懒,什么都没留下…
展开
-
leetcode 剑指offer 45 题
leetcode 题 使用快排实现组合数最小原创 2021-03-16 18:30:43 · 125 阅读 · 0 评论 -
小顶堆的实现及排序C++
//排序数组{1,3,5,2,3,10,6,4}升序排序 //优先队列底层实现,优先队列的数据结构是满二叉树,使用vector存储 #include <iostream> #include<vector> using namespace std; //堆的实现 void adjust(vector<int>&arr, int parent, int end) { int temp = arr[parent];//存储根节点值,查找其子结点判断是否需要下沉,相原创 2021-03-16 17:14:41 · 423 阅读 · 0 评论 -
冒泡,插入,归并排序C++实现
//冒泡 //冒泡是后半段有序 void bubble0316(vector<int>& arr) { for (int i = 0; i < arr.size(); i++) { for (int j = 0; j < arr.size()-i-1; j++) { if (arr[j] > arr[j + 1]) { swap(arr[j], arr[j + 1]); } } } } //插入排序 //前面部分有序 void原创 2021-03-16 17:20:04 · 90 阅读 · 0 评论 -
选择,快排,希尔,堆排序
这四个排序均是非稳定排序 便于记忆:选快希堆(选择快就牺牲稳定性) //选择 //第一层循环控制位置,第二层循环查找最小值放到对应的位置 void select0316(vector<int>&arr) { int n = arr.size(); if (n == 0) return; for (int i = 0; i < n; i++) { int minnum = i;//使用索引,找到最小元素的位置 for (int j = i + 1; j < n;原创 2021-03-16 18:22:52 · 266 阅读 · 0 评论