- 博客(12)
- 资源 (1)
- 收藏
- 关注
转载 100亿个整数,内存足够,如何找到中位数?内存不足,如何找到中位数?
首先必须清楚中位数的定义:中位数(又称中值,英语:Median),统计学中的专有名词,代表一个样本、种群或概率分布中的一个数值,其可将数值集合划分为相等的上下两部分。对于有限的数集,可以通过把所有观察值高低排序后找出正中间的一个作为中位数。如果观察值有偶数个,通常取最中间的两个数值的平均数作为中位数。然后这个题答案:内存足够的情况: 可以使⽤用类似quick sort的
2016-09-28 14:10:10 2308
原创 Map erase的两种方法
方法一:[cpp] view plaincopystd::map mapTest; bool TestVal(const std::string & val); ...... std::map::iterator it = mapTest.begin(); while(it != mapTest.end
2016-09-28 05:13:46 6438
原创 理解个KMP怎么这么难= =#
理解过程中的参考网站:1. http://www.ruanyifeng.com/blog/2013/05/Knuth%E2%80%93Morris%E2%80%93Pratt_algorithm.html2. http://blog.csdn.net/v_july_v/article/details/70418273. http://www.ituring.com.cn/artic
2016-09-26 06:33:51 1714
原创 C++ STL insert
1. insert具体介绍:http://www.cplusplus.com/reference/vector/vector/insert/2. insert用法:single element (1) iterator insert (const_iterator position, const value_type& val);fill (2) iterator inser
2016-09-21 13:08:33 1161
转载 反向迭代器(rbegin, rend)及其与(begin, end)的关系
C++ primer (中文版第四版)第273页9.3.2 begin和end成员 begin和end操作产生指向容器内第一个元素和最后一个元素的下一个位置的迭代器,如下所示。这两个迭代器通常用于标记包含容器中所有元素的迭代范围。c.begin() 返回一个迭代器,它指向容器c的第一个元素c.end() 返回一个迭代器,它指向容器c的最后一个元素的下一个位置c.r
2016-09-21 01:42:59 12875 2
原创 Leetcode 293有感,有unsigned int一定要显示转换!
同样,不要将无符号数与有符号数进行比较!https://leetcode.com/submissions/detail/74053490/Leetcode 293有感,题目链接:https://leetcode.com/problems/flip-game/错误的做法:class Solution {public: vector generatePossi
2016-09-13 07:08:55 599
原创 STL vector陌生功能详解: insert
1. Insert功能vector.insert(迭代器, 要插入在迭代器指示位置前面的元素)例子如下:#include #include using namespace std;int main(){ vector v(3); v[0]=2; v[1]=7; v[2]=9; vector::iterator it;
2016-09-13 01:51:43 632
转载 友元类(Friend)是啥?
友元是指:采用类的机制后实现了数据的隐藏与封装,类的数据成员一般定义为私有成员,成员函数一般定义为公有的,依此提供类与外界间的通信接口。但是,有时需要定义一些函数,这些函数不是类的一部分(注意友元函数不是类的一部分),但又需要频繁地访问类的数据成员,这时可以将这些函数定义为该函数的友元函数。除了友元函数外,还有友元类,两者统称为友元。友元的作用是提高了程序的运行效率(即减少了类型检查和安全
2016-09-10 07:11:29 1654
转载 priority_queue详解
《由于对priority还不是特别理解其用法,进一步找到一篇特别好的将priority_queue的文章,在此分享》——————————————————————————————————————————————————————————————优先队列是队列的一种,不过它可以按照自定义的一种方式(数据的优先级)来对队列中的数据进行动态的排序每次的push和pop操作,队列都会动态的
2016-09-10 07:10:03 476
原创 stack, queue, dequeue, heap和priority_queue
1. 名词解释stack 栈queue 队列dequeue (deque,全名double-ended queue)是一种具有队列和栈的性质的数据结构。双端队列中的元素可以从两端弹出,其限定插入和删除操作在表的两端进行。heap 堆priority_queue 优先队列2. STL中Stack用法stack 模板类的定义在头文
2016-09-10 06:42:42 2068
转载 C++中堆和栈(非数据结构的heap and stack)的完全解析
内存分配方面:堆: 操作系统有一个记录空闲内存地址的链表,当系统收到程序的申请时,会遍历该链表,寻找第一个空间大于所申请空间的堆结点,然后将该结点从空闲结点链表中删 除,并将该结点的空间分配给程序,另外,对于大多数系统,会在这块内存空间中的首地址处记录本次分配的大小,这样代码 中的delete语句才能正确的释放本内存空间。我们常说的内存泄露,最常见的就是堆泄露(还有资源泄露),它是指程序在
2016-09-10 06:11:38 1018
原创 C++ STL 容器类总结
零. 背景介绍为什么要讲容器,因为容器是STL中最不可或缺的一部分:STL可分为容器(containers)、迭代器(iterators)、空间配置器(allocator)、配接器(adapters)、算法(algorithms)、仿函数(functors)六个部分。对于常用的一些容器和容器适配器(可以看作由其它容器实现的容器),可以通过下表总结一下它们和相应头文件
2016-09-09 14:55:10 1066
Telelogic TAU 4.3破解版
2014-12-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人