摘要: STL系列 “怎么前面的队那么长啊!”由于取消在家里吃晚餐的计划,小明这会正在楼下大排档前面排队。 “这个大排档的东西很好吃的,就是人多了点。”连妈妈也开始抱怨。 “既然干等着也没用,小明,你看看这个问题。”大叔站在小明身后,突然发话了。 “好啊好啊,又是什么新东西?” “你看这队排的,人们都在队里等着,先来的先出去,后来的后出去,你看这像数据结构里的什么?” 小明立马反应过来,“队列!队列!” “呵呵,没错,就是队列。” “那如果要你自己实现一个队列,你会怎么实现。” “这还不简单,弄个数组。”小明又开始滔滔不绝地说起来。int head=0, tail=0;int q... 阅读全文
posted @ 2013-04-15 10:57 我是王小明 阅读(973) 评论(1) 推荐(1) 编辑
摘要: “今晚吃什么呢?”大叔这会已经到了小明家了。 “不知道呢,反正就是好吃的,等我妈妈弄好。”小明兴高采烈的样子,“大叔!” “咦?”大叔觉得莫名其妙。 “我在想,我既然都能够实现栈了,STL里面应该有栈的实现吧?” 大叔发现他是问这个,撇撇嘴笑了,“是啊,当我们要用什么东西的时候,记得先看看有没有现成的东西,而不要一味地制作重复的东西,当然我们这是在学习,自己就应该练练。” “那你快说快说!”小明很着急。 “不急,其实我们写的基本都差不多了,差别只在内部。” 1 #include <stack> 2 using namespace std; 3 4 stack<int> 阅读全文
posted @ 2013-04-14 08:28 我是王小明 阅读(196) 评论(0) 推荐(0) 编辑
摘要: “大叔,我知道栈是什么东西!”王小明这次是有备而来的。 “哦,是什么东西?” “栈是种数据结构,简单说就是一个数组,但是这个数组只能从尾部插入和取出。” “嗯,没错。”大叔放下手头上的工作,“那你知道怎么实现吗?” “当然啦,a piece of cake。”小明刷刷刷就想开始写了,大叔说,“诶,别着急。” //栈的裸实现-友情链接 “你还记得学过的vector吗,知道是怎么删除元素的吗?”大叔又提起了vector。 “嗯,还记得,用push_back加入一个元素,用pop_back可以从后面删除一个元素。” “那你试试用vector实现栈。” “这么看来,好像有点思路,... 阅读全文
posted @ 2013-04-13 08:54 我是王小明 阅读(147) 评论(0) 推荐(0) 编辑
摘要: “大叔!你骗我。”王小明找上了大叔,愤愤不平。 “我怎么骗你了?”大叔正无聊地翻着一本早被翻烂的书。 “你骗我用STL,我去网上查了,很多人都说STL慢!慢的很” “你是怎么知道他慢的?” “你昨天不是教我用vector吗?我回去用数组和它比较了一下,发现比数组插入的速度慢了好多!” “你是怎么试验的?” “你看,我是这样写的。”说着,王小明就在草稿纸上写起来。 int array1[10000]; int i; for (i=0; i<10000; i++) { array[i] = i; } vector<int> arra... 阅读全文
posted @ 2013-04-12 09:07 我是王小明 阅读(199) 评论(2) 推荐(0) 编辑
摘要: 王小明最近又不安分了,自从学习了C++之后,开始目中无人,对学习其他语言的同学各种鄙视。 这次他又在向别人炫耀C++的指针是多么牛,不巧被大叔碰上了。 “你看指针多牛叉,连数组的括号都不用。” “小明,过来,考考你。”大叔是他哪家子亲戚倒是不晓得。 “来,谁怕谁!” “现在要你做一个可以存数据的东西,你实现一个?” “这简单,数据就当是整型吧,我弄个数组就行了。”小明感觉这就是小菜一碟,三下五除二就写好了。 int array[5] = {0}; “看,怎样!够你存五个了,哈哈!”小明拍拍手想走人。 大叔却叫住了他,“存个1进去。” “那还不简单。” array[0] = 1; “看... 阅读全文
posted @ 2013-04-11 10:47 我是王小明 阅读(245) 评论(4) 推荐(1) 编辑