随笔分类 - 排序
摘要:题目链接:P1923 Describe: 输入 nnn(n<5000000n<5000000n<5000000 且 nnn 为奇数) 个数字 ai(0<ai<109)a_i(0<a_i<10^9)ai(0<ai<109) ,输出这些数字的第 kkk 小的数。最小的数是第 0 小。 Input:
阅读全文
摘要:快速排序: 有点归并排序的思想,分而治之。主要分为主元选取,子集划分两个阶段。主元选取有点讲究,不同的主元会导致运算效率不同,并且排序数量的大小也会影响效率,如果排序数为100以下,有时插入排序要比快速排序效率更高,此时可以设定一个阈值来确定用哪个排序算法。 示例代码: 此处为了方便,将要排序的最右
阅读全文
摘要:归并排序: 顾名思义,就是将要排序的一串数一分为二,递归的去排序左边和右边的数,最终合并到一起,以从小到大排序为例 参考代码: 1 // Merge sort 2 #include <iostream> 3 using namespace std; 4 void mergenum(int a[],
阅读全文
摘要:注:所有排序以从小到大排序为例,且函数接口统一定义为:void sortname_sort(int a[], int n) 简单排序: 简单排序有三种:选择排序,冒泡排序,插入排序。其中选择排序非常简单,就是从要排序的数列里找到最小的放在最前面,以此类推,最终完成排序,代码省略。 冒泡排序: 思路是
阅读全文

浙公网安备 33010602011771号