泛型prog
文章平均质量分 76
SzMing
这个作者很懒,什么都没留下…
展开
-
C/C++泛型编程(2)链表查找算法
链表查找算法 链表查找:实现以节点nodes方式串联起来的链表,每个节点包含一份数据,以及一个指向下一个节点的指针。 (一)C实现链表查找:C语言节点数据结构struct int_node{ int val; int_node* next;};bool operator==(const int_node& node,i转载 2012-11-14 12:58:56 · 905 阅读 · 0 评论 -
list::remove_if和泛型算法remove_if浅析
remove_if有两种,一种是list等容器的方法list::remove_if,另一种是泛型算法中的remove_if方法,原型就不详细说了,可以去查MSDN。其中list::remove_if只有一个参数,即一个一元谓词,为真时执行删除操作,这里的“删除”是真正删除了元素项,无需在后续中使用erase()方法,而且函数没有返回值;而泛型算法的remove_if方法可以设定删除范围,比如对转载 2012-11-14 13:22:30 · 2469 阅读 · 0 评论 -
C/C++泛型编程(4)容器
1.数组Array:语言自身唯一支持的最简化的数据结构。数组可以存放一系列元素,而且可以遍历那些元素。与数组相关的iterator就是指针。C/C++数组优点:(1)遵循range概念。A是具有N个元素的数组,则A+N是一个越过尾端的指针。A内所有元素包含在range[A,A+N)中。(2)数组分配在栈中,数组不必以动态方式分配内存(即malloc或new)。(3)数组很有效率,不必通过间转载 2012-11-14 12:59:58 · 603 阅读 · 0 评论 -
C/C++泛型编程(1)线性查找算法
线性查找:从头到尾一步步依次序检查特定数值是否出现在线性序列中,如果当前元素值与该特定数值相同,此算法返回当前元素在此序列的位置,否则就移至下一个元素。 (一)C语言实现线性查找:char* strchr(char* s,int c){ //字符串s中查找数值cwhile(*s !='\0' && *s!=c){ ++s; return *s转载 2012-11-14 12:58:25 · 908 阅读 · 0 评论 -
C/C++泛型编程(3)函数对象
1.函数对象:如果f是个函数对象,那么一定有operator()施于f身上。它可以像函数一样被调用。如果f是函数对象,针对某个值x或两个值x,y,可以写成f(),f(x),f(x,y).f(x)是单参Unary,f(x,y)是双参Binary。返回bool值的函数对象:Predicate。它比完全一般化的函数对象更常被使用。 2.相关型别:class even 有一个引数型转载 2012-11-14 12:59:24 · 807 阅读 · 0 评论