08 2015 档案

摘要:看到map这里,都不知道它主要是干嘛的,你有没有这样的疑问。 map的主要作用:提供对T类型的数据进行快速和高效的检索 。C++ STL中标准关联容器set, multiset, map, multimap内部采用的就是一种非常高效的平衡检索二叉树:红黑树,也成为RB树(Red-Black Tree 阅读全文
posted @ 2015-08-30 16:04 Spiderman.L 阅读(258) 评论(0) 推荐(0)
摘要:(转) 1.关于set C++ STL 之所以得到广泛的赞誉,也被很多人使用,不只是提供了像vector, string, list等方便的容器,更重要的是STL封装了许多复杂的数据结构算法和大量常用数据结构操作。vector封装数组,list封装了链表,map和set封装了二叉树等,在封装这些数据 阅读全文
posted @ 2015-08-30 15:10 Spiderman.L 阅读(247) 评论(0) 推荐(0)
摘要:学到STL的vector,发现手中的材料不是很详细,这里做个汇总。 1 操作 (1)头文件#include<vector>. (2)创建vector对象,vector<int> vec; 注:这里应该是 vector<数据类型>对象;为通用形式,数据类型可以为一般的int ,long ,char , 阅读全文
posted @ 2015-08-29 21:25 Spiderman.L 阅读(143) 评论(0) 推荐(0)
摘要:之所以抛弃char*的字符串而选用C++标准程序库中的string类,是因为他和前者比较起来,不必担心内存是否足够、字符串长度等等,而且作为一个类出现,他集成的操作函数足以完成我们大多数情况下(甚至是100%)的需要。我们可以用 = 进行赋值操作,== 进行比较,+ 做串联(是不是很简单?)。我们尽可以把它看成是C++的基本数据类型。 好了,进入正题……… 首先,为了在我们的程序中使用s... 阅读全文
posted @ 2015-08-28 19:22 Spiderman.L 阅读(233) 评论(0) 推荐(0)
摘要:Fisher_Yates算法void ShuffleArray_Fisher_Yates(char* arr, int len) { int i = len, j; char temp; if ( i == 0 ) return; while ( --i ) { j = rand() % (i+1)... 阅读全文
posted @ 2015-08-26 09:19 Spiderman.L 阅读(242) 评论(0) 推荐(0)
摘要:这几天一直在看计算几何,看了几道算法题,把自己弄得有点头晕,在这里理理自己的头绪,也为大家提供点东西。 1.计算几何最基础的东西“向量”,接下来为大家理理向量先:以向量a(c,d),b(e,f)举例; (1) 判断两个向量是否平行:(即对直线而言是斜率相等) a//b => a x b = 0 => 阅读全文
posted @ 2015-08-25 22:47 Spiderman.L 阅读(212) 评论(0) 推荐(0)
摘要:给你两条直线,判断这两条直线是否共线,相交,不相交(即平行),相交的话输出交点。 判断平行,然后通过叉积判断是否共线。 平行判断可以判断两条直线的斜率是否相等。 交点的话,相当于联立方程组求解了。 这些方程看模板理解的,刚才搜了下,有人讲得比较清楚,借鉴下http://blog.csdn.net/d 阅读全文
posted @ 2015-08-25 15:37 Spiderman.L 阅读(894) 评论(0) 推荐(0)
摘要:(这是对任意多边形面积求法的一个解释) 给定多边形的顶点坐标(有序),让你来求这个多边形的面积,你会怎么做? 我们知道,任意多边形都可以分割为N个三角形,所以,如果以这为突破点,那么我们第一步就是把给定的多边形,分割为数个三角形,分别求面积,最后累加就可以了,把多边形分割为三角形的方式多种多样,在这 阅读全文
posted @ 2015-08-24 10:51 Spiderman.L 阅读(351) 评论(0) 推荐(0)