
排序
KLFTESPACE
这个作者很懒,什么都没留下…
展开
-
1101 Quick Sort (25分)
1.pivot的左边< 右边>2.左边最大值<=pivot 右边最小值> pivot即可 一次遍历存储每个i左边最大值,右边最小值即可完成3.我想模拟一遍 所以没有采用2的方法 然后 TLE一部分模拟思路:1.一次就好 无需递归2.注意ki为区分点 和之前快排模板里的low high区分开,即判定条件适当改变3.加flag标记是否交换 交换则说明不是pivot位置#include <bits/stdc++.h>usin...原创 2020-07-18 23:27:25 · 179 阅读 · 0 评论 -
1089 Insert or Merge (25分) && 1098 Insertion or Heap Sort
1.推荐使用vector<int> 传引用数组不用给定大小范围....我用的int数组,麻烦还有限制,但是目前懒得改2.引用这个还挺好用的3.插入排序的话 前面有序,后面和原数组内容一致 我只是模拟了下插入第i个元素的最终排序 没有实现从头到尾排序的4.归并排序注意是二路归并 直接二分往下模拟会有问题代码注释中有说明 直接sort 2的i次方的跨度往后排序 但是我没写这个5.堆排序 最终求从小到大排序需要建立大根堆 然后逐步调整6.由于这两个个一样 所以两个题合并...原创 2020-07-18 22:42:26 · 169 阅读 · 0 评论 -
1098 Insertion or Heap Sort (25分)
1.学习了堆排序2.在判断顺序也要考虑==....找了好久才发现...#include<iostream>#include<algorithm>#include<vector>#include<algorithm>using namespace std;vector<int> a, b;void adjustH...原创 2020-02-21 22:34:29 · 134 阅读 · 0 评论 -
1101 Quick Sort (25分)
1.直接存储某点左右两边最大值最小值#include<bits/stdc++.h>#include<unordered_map>using namespace std;const int N = 1e5+5;#define INF 0x3f3f3f3f#define loop(x,y,z) for(x=y;x<z;x++) ...原创 2020-02-22 12:26:11 · 141 阅读 · 0 评论 -
sort HDU - 1425(本来想用vector做下,练习下,结果TLE,然后C++自带sort可以过)
给你n个整数,请按从大到小的顺序输出其中前m大的数。 Input每组测试数据有两行,第一行有两个数n,m(0<n,m<1000000),第二行包含n个各不相同,且都处于区间[-500000,500000]的整数。 Output对每组测试数据按从大到小的顺序输出前m大的数。 Sample Input5 33 -35 92 213 -644Sample Output...原创 2018-05-28 23:01:46 · 392 阅读 · 0 评论 -
Bubble Sort
Bubble Sort:相邻的元素两两比较,根据大小来交换元素的位置,一般是大的下沉,小的上浮。 原始的冒泡排序是稳定排序,时间复杂度是O(N^2)。void BubbleSortK(int arry[], int n) { int temp; for (int i = 0; i < n; i++) for (int j = 0; j &...原创 2018-07-17 16:52:22 · 290 阅读 · 0 评论 -
总结一些比较函数(含有优先队列里结构体里的重载)
最近见的比较函数挺多的,然后就想汇总一下,记录下来,But,忘了好几个,先写一点,剩下的有机会见了补上//适用于qsortint cmp(const void *a ,const void *b){ return *(int *)a - *(int *)b ; //从小到大排序 }//sortint cmp(const int a ,const int b){...原创 2018-07-30 21:51:53 · 799 阅读 · 0 评论