当前位置: 首页 > 图文教程 > 开发语言 > C/C++ > cstl -- c语言编写通用数据结构和常用算法库(模仿SGI STL)

C/C++
C/C++:小编谈C语言函数那些事(3)
C/C++:小编谈C语言函数那些事(4)
C/C++:小编谈C语言函数那些事(5)
C/C++:小编谈C语言函数那些事(6)
C/C++:小编谈C语言函数那些事(7)
C/C++:小编谈C语言函数那些事(8)
C/C++:小编谈C语言函数那些事(9)
C/C++:小编谈C语言函数那些事(10)
C/C++:小编谈C语言函数那些事(11)
C/C++:小编谈C语言函数那些事(12)
C/C++:小编谈C语言函数那些事(13)
C/C++:小编谈C语言函数那些事(14)
C/C++:小编谈C语言函数那些事(15)
C/C++:小编谈C语言函数那些事(16)
C/C++:小编谈C语言函数那些事(17)
C/C++:小编谈C语言函数那些事(18)
C/C++:小编谈C语言函数那些事(19)
C/C++:小编谈C语言函数那些事(20)
C/C++:小编谈C语言函数那些事(21)
C/C++:小编谈C语言函数那些事(22)

C/C++ 中的 cstl -- c语言编写通用数据结构和常用算法库(模仿SGI STL)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-14   浏览: 285 ::
收藏到网摘: n/a

cstl是使用C语言编写的一个通用的数据结构和常用的算法库,它模忙SGI STL的接口和实现,支持vector,list,deque等等常用的数据结构,同时还支持排序,查找,划分等常用的算法,此外cstl也包含迭代器的类型,它作为容器和算法之间的桥梁。cstl为C语言编程中的数据管理提供了便利。

    在使用C语言编程的过程中,很多工作都是在管理数据,很多时候我都是在一遍又一遍的开发通用的数据结构如list,我想C语言中如果有一个像的STL那样的库那就节省了很多的时间和精力,但是在网上没有找到,所以决定自己写一个类似的库。

    库的特点就是要通用,如果一个list只能保存int类型或者是针对每一种类型都要有一个相应的list来保存如保存int类型的list_int保存 double类型的叫list_double,那就很麻烦并且也不够通用,但是cstl做到了数据结构的通用型cstl中的容器可以保存任何类型,不管是 int还是double或者是用户自定义的类型abc_t同一个容器都可以保存,例如cstl中双向链表容器list_t既可以保存int又可以保存 double,连用户自定义的类型abc_t都可以保存,只要通过一步创建就可以:
创建一个保存int类型的list_t:
list_t t_l = create_list(int);
这样这个t_l中保存的数据就是int类型的数据了。
又如:
typedef struct _tagabc
{
...
}abc_t;
list_t t_l2 = create_list(abc_t);
这样t_l2中保存的就是abc_t类型的数据了