erase 删除后 返回的是删除元素的后一个迭代器位置
int main()
{
//如何正确的删除所有元素 循环
int a[]={1,2,3,4,5,6,7,8,9};
vector v(a,a+6);
for(vector::iterator it=v.begin();it!=v.end();)
{
it=v.erase(it);
}
for(vector::itera...
分类:
编程语言 时间:
2014-09-29 14:48:31
阅读次数:
150
第一种方法是利用DP,时间复杂度是 O(m * m * n)
dp(i,j):矩阵中同一行以(i,j)结尾的全部为1的最长子串长度
代码如下:
int maximalRectangle(vector > &matrix) {
int m = matrix.size();
if (m == 0) return 0;
int n = mat...
分类:
其他好文 时间:
2014-09-29 14:40:20
阅读次数:
215
对于任意一个矩阵A m×n,那么这个矩阵存在四个子空间:Column space, 记作 C(A). 矩阵A的列空间就是A的任意列向量的线性组合。可以看出矩阵列空间是属于Rm, 用数学的表达方式就是C(A) = { v | v = Ax, where x is any vector of Rn }N...
分类:
其他好文 时间:
2014-09-29 14:34:00
阅读次数:
360
增加了逆置迭代器的实现 以及swap功能 完整代码如下: #ifndef VECTOR_H_
#define VECTOR_H_ #include #include #include template class Vector
{
public: typedef T *iterator; typed...
分类:
其他好文 时间:
2014-09-29 04:28:56
阅读次数:
282
C++ 容器和算法(1)
“泛型算法”:
1. 算法可以作用于不同的容器类型。
2. 容器容纳多种不同类型元素
顺序容器: vector list deque(全称double-ended queue)
适配器: stack queue priority_queue
定义: vector svere;
C c(b,e)当[b,e) 左开右...
分类:
编程语言 时间:
2014-09-29 01:39:37
阅读次数:
269
使用cocos2dx 3.2 原理都一样
#ifndef __HELLOWORLD_SCENE_H__
#define __HELLOWORLD_SCENE_H__
#include "cocos2d.h"
#include "vector"
using namespace std;
USING_NS_CC;
class PathSprite : public cocos2d::Sprit...
分类:
其他好文 时间:
2014-09-29 01:23:57
阅读次数:
215
注意几点: 分配内存不要使用new和delete,因为new的同时就把对象构造了,而我们需要的是原始内存。 所以应该使用标准库提供的allocator类来实现内存的控制。当然也可以重载operator new操作符,因为二者都是使用malloc作为底层实现,所以直接采用malloc也可以。 对象的复...
分类:
其他好文 时间:
2014-09-29 00:11:26
阅读次数:
303
STL vector源代码学习,阅读整理,并添加注释,增强可读性。...
分类:
其他好文 时间:
2014-09-28 21:13:16
阅读次数:
181
带 加点 删边的块状树。加点在 bzoj3720 说过。删边其实就是块顶打标记,记录其属于哪棵树,防止在dfs搜集答案时跑到别的树上。然后暴力把所在块拆开。好像用邻接表存图,直接在vector里删边也行? 1 #include 2 #include 3 #include 4 #include...
分类:
其他好文 时间:
2014-09-28 19:21:45
阅读次数:
330