2012年9月25日
摘要: c++的标准模版一直没有仔细看过,今天用到了set、vector,比写一个c函数要方便许多 set是集合,关键的一个操作set::insert(),如果当前key不在set中,则加入,可以方便生成一个无重复值的集合 vector可以实现栈的操作,vector::back()返回最后的一个元素,与*(vector::end()-1)相同,*vector::begin()是最初的那个元素;vector::push_back和pop_back()分别入栈和出栈 借助vector,实现一个辅助栈,当Stack每push一个key时,辅助栈就将当前值与栈顶元素指向的值比较,如果小于它,刚辅助栈... 阅读全文
posted @ 2012-09-25 14:40 CodeAnt 阅读(278) 评论(0) 推荐(0) 编辑
  2012年9月24日
摘要: 《编程珠讥》中comlen返回两个参数字符串中的共同部分的长度,代码如下:int comlen_error(char *p,char *q){ int i=0; while(*p && *p++==*q++) i++; return i;} 这段小代码显然有错,如果两个字符串第一个字符不相等的话,循环就不执行下去了。 重写了一个没有效率的代码,大体思路是:假设p比q要长,找出q中所有的子串,(q[i,j]包含了所有子串),然后判断子串是否在p中; 记得算法导论上,最大公共子序列是用动态规划实现的,现在都已经忘掉了...int comlen(char *p,... 阅读全文
posted @ 2012-09-24 20:09 CodeAnt 阅读(329) 评论(0) 推荐(0) 编辑