随笔分类 -  C/C++

C/C++语言学习
摘要:int LCS(string str1, string str2) //返回最长公共字串长度{ //创建矩阵 int** martix; martix = new int*[str1.length()+1]; for(int i =0; imax) {... 阅读全文
posted @ 2014-08-30 16:09 Will Lau 阅读(281) 评论(0) 推荐(0)
摘要:原题:《数据结构与算法分析C++描述(第三版)》练习2.27问题描述:N*N矩阵,每一行从左到右增加,每一列从上到下增加。给出O(N)最坏情形算法决定是否数X在该矩阵中。代码: 1 #include 2 #include 3 #include 4 #include 5 6 using namespace std; 7 8 int searchx(vector > v,int x) 9 {10 int i(0),j(0);11 i=v.size()-1;12 while(j=0)13 {14 while(v[i][j] tv;32 ve... 阅读全文
posted @ 2014-04-13 14:06 Will Lau 阅读(368) 评论(0) 推荐(0)
摘要:原题:《数据结构与算法分析C++描述(第三版)》练习2.26问题描述:大小为N的数组的主元素是出现次数超过N/2的元素。找到给定数组的主元素,若没有,应指出。完整代码: 1 #include 2 #include 3 4 using namespace std; 5 6 void cand(vector &v) 7 { 8 vector::iterator itf = v.begin(); 9 vector::iterator ite = v.begin();10 while(itf!=v.end()&&ite!=v.end())11 {12 ... 阅读全文
posted @ 2014-04-11 22:14 Will Lau 阅读(641) 评论(0) 推荐(0)
摘要:内容引自《C++ Prime》中文版P497,原著P589: 构造派生类对象时首先运行基类构造函数初始化对象的基类部分。在执行基类构造函数是,对象的派生类部分是未初始化的。实际上,此时对象还不是一个派生类对象。 撤销派生类对象时,首先撤销它的派生类部分,然后按照与构造顺序的逆序撤销它的基类部分。 在这两种情况下,运行构造函数或析构函数的时候,对象都是不完整的。为了适应这种不完整,编译器将对象的类型视为在构造或析构期间发生了变化。在基类构造函数或析构函数中,将派生类对象当作基类类型对象对待。 如果在构造函数和析构函数中调用虚函数,则运行的是为构造函数或析构函数自身类型定义的版本。 阅读全文
posted @ 2014-03-12 10:48 Will Lau 阅读(242) 评论(0) 推荐(0)