摘要: #include <deque>#include <vector>using namespace std;int main(){ deque<int> d1; deque<int> d2; deque<int>::iterator it; d1.push_back(3); d1.push_back(4); d2 = d1; for(it = d2.begin(); it != d2.end(); it++) cout<<*it<<endl;/*********************************** 阅读全文
posted @ 2009-02-23 21:21 小 楼 一 夜 听 春 雨 阅读(1057) 评论(0) 推荐(0)
摘要: 选择排序、快速排序、希尔排序、堆排序不是稳定的排序算法,冒泡排序、插入排序、归并排序和基数排序是稳定的排序算法。冒泡法: 这是最原始,也是众所周知的最慢的算法了。他的名字的由来因为它的工作看来象是冒泡: 复杂度为O(n*n)。当数据为正序,将不会有交换。复杂度为O(0)。直接插入排序:O(n*n)选择排序:O(n*n)快速排序:平均时间复杂度log2(n)*n,所有内部排序方法中最高好的,大多数情况下总是最好的。归并排序:log2(n)*n堆排序:log2(n)*n希尔排序:算法的复杂度为n的1.2次幂这里我没有给出行为的分析,因为这个很简单,我们直接来分析算法:首先我们考虑最理想的情况 1. 阅读全文
posted @ 2009-02-22 16:03 小 楼 一 夜 听 春 雨 阅读(322) 评论(0) 推荐(0)
摘要: const int DefaultSize = 100;enum KindofStatus {Active, Empty, Deleted};template<class E, class K>class HashTable { public: HashTable(int d, int sz = DefaultSize); ~HashTable() {delete []ht_; delete []info;} HashTable<E, K>& operator = (const HashTable<E, K>& rhs); bool Sear 阅读全文
posted @ 2009-02-20 15:02 小 楼 一 夜 听 春 雨 阅读(548) 评论(0) 推荐(0)
摘要: 1.记住该记住的,忘记该忘记的。改变能改变的,接受不能改变的 Remember what should be remembered, and forget what should be forgotten.Alter what is changeable, and accept what is mutable. 2.能冲刷一切的除了眼泪,就是时间,以时间来推移感情,时间越长,冲突越淡,仿佛不断稀释的茶 Apart from tears, only time could wear everything away. While feelingis being processed ... 阅读全文
posted @ 2009-02-19 10:06 小 楼 一 夜 听 春 雨 阅读(339) 评论(0) 推荐(0)
摘要: template<class T>struct SetNode { T data; SetNode<T>* link; SetNode():link(NULL) {} SetNode(const T& x, SetNode<T>* next = NULL):data(x), link(next) {}};template<class T>class LinkedSet { public: LinkedSet() {first_ = last_ = new SetNode<T>;} LinkedSet(LinkedSet< 阅读全文
posted @ 2009-02-18 11:58 小 楼 一 夜 听 春 雨 阅读(327) 评论(0) 推荐(0)
摘要: #include<assert.h>#include<iostream>using namespace std;const int DefaultSize = 100;class Set{public: Set(int MaxSize = DefaultSize); //构造函数 ~Set() {delete []bitVector;} //析构函数 void MakeEmpty() //置空集合 { for(int i=0; i<MaxSize; i++) { bitVector[i] = 0; } } bool AddMember(const int x); 阅读全文
posted @ 2009-02-17 20:10 小 楼 一 夜 听 春 雨 阅读(1794) 评论(1) 推荐(0)
摘要: 第一种最简单:利用STL的set容器#include <set>using namespace std;class IntSet {public: IntSet(int no, int maxval):no_(no), maxval_(maxval) {} int size() {return s_.size();} void generate() { while(s_.size() < no_) { s_.insert((rand() + 100)%maxval_); } } void disp() { set<int>::const_iterator it; 阅读全文
posted @ 2009-02-16 20:37 小 楼 一 夜 听 春 雨 阅读(856) 评论(0) 推荐(0)
摘要: #include <fstream>#include <string>#include <map>using namespace std;int main(){ map<string, int> m; ifstream ifs("calculate.txt"); if(!ifs) return -1; string str("abcdefghigklmnopqrstuvwxyz"); int i = 0; while(!ifs.eof()) { char c,b; // 此处不可以使用输入流ifs>& 阅读全文
posted @ 2009-02-11 17:21 小 楼 一 夜 听 春 雨 阅读(778) 评论(0) 推荐(0)
摘要: 这是写给初学者看的,虽然有点吹牛,但高人面前不敢班门弄斧,我写的都是来自我的切身经验。) 初学者学习设计模式之类的东西之前,如果能打好基础,将来必能事半功倍。 初学者不太讲究的一个地方,就是不考虑将来要修改代码的可能性。一个计算器写出来,就觉得“好,我会了”,马上丢到一边。 高水平的程序员,写出来的代码都是易于修改的。但是初学者很难有这种机会要修改自己的程序,怎么办呢? 就我个人经验,我觉得锻炼这种思维的一个好办法,就是反反复复的写同样功能的程序。第一个版本写出来之后,稍微总结一下,然后重新写过,并添加一点功能。 反复几次,你就会看到最后写出来的比起第一次写的真是赏心悦目得多。当你对... 阅读全文
posted @ 2009-02-08 20:43 小 楼 一 夜 听 春 雨 阅读(253) 评论(0) 推荐(0)
摘要: 1.After you. 你先请2.Don’t take it to heart. 别往心里去,别因此而费神3.We’d better be off。我们该走了4.Let’s face it。面对现实把(当你不愿意躲避困难时,就用它吧)5.Let’s get started。咱们开始干吧6.I’m really dead。我真的要累死了(有的时候当你的课业负担太重的时候,巴方对你的英语老师说吧)7.I’ve done my best。我已经尽力了8.Is that so?真是那样的吗?9.Don’t play games with me。别跟我耍花招(某人说,这句话的意思难道不是“不要跟我一起 阅读全文
posted @ 2009-01-16 21:26 小 楼 一 夜 听 春 雨 阅读(405) 评论(0) 推荐(0)