![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
排序
zhanglu_1024
这个作者很懒,什么都没留下…
展开
-
单链表的所有操作,检查是否有环,合并链表,逆置链表,排序链表......
单链表我能想起来的所有操作,这里是带头结点的单链表:主要包括,创建,增加,删除,查找,逆置,排序,合并,检测是否有环,等等。不顾有一个没有实现,就是找到环的入口地址,这个和找环是一样的,找到有环了,一个慢指针重新开始从头走,一个从检测到环的那个点走。等他们相遇,就是环的入口地址。#include #include #include #include using namesp原创 2017-08-18 18:36:34 · 269 阅读 · 0 评论 -
三大面试排序的归并以及递归实现--快速排序、归并排序、堆排序
本文主要是三大常用排序的实现,包括快速排序的递归方法,循环方法。归并排序的递归方法,循环方法。以及堆排序。快速排序:递归实现(快排)void Show(int ar[],int len){ copy(ar,ar+len,ostream_iterator(cout," ")); cout<<endl;}//快速排序--递归int Quick_sort_once(int a原创 2017-08-05 10:00:02 · 552 阅读 · 0 评论 -
全排列的升级题--全排列和多个数组的组合题
题目:有N个数组,每次从每个数组中取出一个数字,将他们的全排列输出出来。请输出所有的可能。例:三个数组{1,2,3} {4} {5,6},则他们的所有可能为:145的全排列,245的全排列,345的全排列,146的全排列,246的全排列,346的全排列。即:145,154,415,451,514,541,245,254,452,425,524,542,345,354,435,4...原创 2019-05-02 10:33:48 · 300 阅读 · 0 评论 -
较大数据玩家排行榜
有个需求是需要对我们现在新项目的所有玩家进行排行,形成所有玩家的名词排行。要求所有获得排名积分的玩家都需要进行排行,同时需要获取玩家排名时速度较快。 思路:数据库目前注册玩家数量在17万,假设日活玩家可以做到10万,需要对10万人进行全部排行。所有人统一使用快排,不理想,因为游戏分数极其容易发生变化。所以使用map进行分段排行。总体思路如上图,按照分数稀释一下人数,每个分...原创 2019-03-21 15:41:53 · 484 阅读 · 0 评论 -
K个数中找到最大的N个数字
题目:在给定的K个数字中找到最大的N个数字? 解析:一、排序,然后找到最大的N个数字,时间复杂度在K的平方到K*logK之间。 二、使用多与空间(数组,map),将最大的K个数字存储起来,时间复杂度K*N。 三、使用map结构的自动排序功能,即将所有的数字放进去,只需要遍历一遍数组,取出最...原创 2019-04-11 15:32:47 · 759 阅读 · 0 评论