摘要: STL中的顺序容器,还有顺序容器适配器:queu、priority_queue和stack。适配器是标准库中通用的概念,包括容器适配器、迭代器适配器和函数适配器。本质上适配器是使某一事物的行为类似另一事物的行为的一种机制。容器适配器让一种已存在的容器类型采用另一种不同的抽象类型的工作方式实现。默认stack基于deque容器实现。但是stack适配器所关联的基础容器可以是任意一种顺序容器类型。这份代码是用链表去实现!!!! 1 #include<iostream> 2 using namespace std; 3 4 template <typename Object> 阅读全文
posted @ 2012-09-16 14:11 alan_forever 阅读(854) 评论(0) 推荐(0) 编辑
摘要: 《数据结构与算法分析》书本代码,书本的代码内容居然分开超多部分,看起来真得很痛苦,之前看这一章老是看到这一部分就不想看,list的实现本来就麻烦,而且分开,所以一直都是跳开。不过通过认真分析,再敲代码,一边敲代码一边理解,收获真得很不错,而且这本书的习题很赞,有很多题都是要你在程序上完善,修改、添加。好了,体外话说完。PS:这次加了两张图片!(《数据结构与算法分析》的图片,方便理解)。PS:添加了习题3.15和3.16.见:http://www.cnblogs.com/alan-forever/archive/2012/10/15/2725290.html看了这些代码有数遍之后,觉得将cons 阅读全文
posted @ 2012-09-12 21:33 alan_forever 阅读(1736) 评论(0) 推荐(0) 编辑
摘要: 1 #include<iostream> 2 #include<bitset> 3 using namespace std; 4 int main( ) 5 { 6 bitset<8> b1(39); 7 bitset<8> b2 = ~ b1; 8 cout << "‘~’位求反操作符" << endl; 9 cout << b1 << endl;10 cout << b2 << endl;11 cout << endl; //将1变成0,将 阅读全文
posted @ 2012-09-11 13:24 alan_forever 阅读(200) 评论(0) 推荐(0) 编辑
摘要: PS:13题和14题,我将它们综合在一起·····因为我只看了题目对Object、Comparable没有了解(第一章都是一些回顾)······· 1 //1.5编写一个递归方法,它返回数N二进制表示1的个数。 2 #include<iostream> 3 using namespace std; 4 int ones(int x) 5 { 6 if(x < 2) 7 return x; 8 else 9 return x % 2 + ones(x / 2) 阅读全文
posted @ 2012-09-11 13:21 alan_forever 阅读(537) 评论(0) 推荐(0) 编辑
摘要: 《数据结构与算法分析》的代码!!!!PS:因为书本没有给clear、erase函数的实现,我也只好自己弄了个clear函数,不过erase函数不知道怎样才能弄好,迟点在改善。vector的实质也是数组,但是它的容量能动态变大,避免了溢出!!!PS:加了两条习题的内容。3.7 修改Vector类,添加索引时的边界检测功能。3.8 给Vector类添加insert和erase。还有一题未完成,是将迭代器定义为一个类,来提供严格的迭代器检验。这条题目才是真正的考验·····迟点准备做····· 1 # 阅读全文
posted @ 2012-09-11 13:12 alan_forever 阅读(360) 评论(0) 推荐(0) 编辑
摘要: 现在对STL的学习主要是看《C++ Primer》,这本书买回来大半年,虽然很多都基本看了,但是真得真得看得不够仔细。现在重新再看多几遍。vector是一个类模板,不是数据类型。以下是C++ Primer里面的代码和一些实例说明。以后还会有vector的代码实现。 1 #include<iostream> 2 #include<vector> 3 using namespace std; 4 5 int main( ) 6 { 7 vector<int> v1; //v1为空 8 vector<int> v2(v1); //v2为... 阅读全文
posted @ 2012-09-11 13:11 alan_forever 阅读(190) 评论(0) 推荐(0) 编辑
摘要: 个人觉得bitset很不错,特别是转化成二进制,还可以将0-1字符串转化成bitset,而bitset可以直接输出,还可以转化成unsigned long 类型的值。个人认为操作不需要死记硬背,要使用的时候再查吧,毕竟标准库里面的操作有很多。PS:第一次弄插图,技术不太好。要注意bitset的下标!!!!!!!看了图就会明白。 1 #include<iostream> 2 #include<string> 3 #include<bitset> 4 #include<cstddef> 5 using namespace std; 6 7 int m 阅读全文
posted @ 2012-09-11 13:09 alan_forever 阅读(194) 评论(0) 推荐(0) 编辑
摘要: list(链表)容器也是顺序容器的一种,支持快速插入/删除,有头插入,尾插入两种数据输入的方法。不支持下标操作!!!这里的只是基本的操作,还有一些操作可能以后会继续补充。以后会有list的代码实现!! 1 #include<iostream> 2 #include<list> 3 using namespace std; 4 5 int main( ) 6 { 7 list<int> l1; 8 list<int> l2(l1); 9 list<int> l3(10, 99);10 list<int> l4(10, 99) 阅读全文
posted @ 2012-09-11 13:08 alan_forever 阅读(219) 评论(0) 推荐(0) 编辑