为了处理数据的集合,MFC提供了一组集合类,包括数组、链表以及映射等,它们最大的作用是在应用框架中定义文档类的数据结构。 一、模板类 模板集合类的参数用于定义存储在集合中对象的类型。 模板类 二、数组类 数组是一维的数据结构,在内存中,它以连续的地址存储元素。这种存储方式决定了用户可以快速、随机的访问它的元素;其不足之处,在插入元素时,必须移动插入位置之后的所有元素,以便为新的元素分配存储空间,这将导致插入元素时的开销过大。 数组类 三、链表类 链表类似于数组,但是存储方式却有很大的不同:链表中的每个元素包含前一个元素的指针,也包含后一个元素的指针,为双向链表。当插入或者删除一个元素时,速度非常快,因为只需要改变几个指针值就可以完成插入或者删除操作。不足之处在于搜索链表的开销比较大,这是因为必须从链表头搜索到链表尾部。 链表类 四、映射类 映射不同于数组和链表,它将键值和数据值联系起来。譬如,映射的键值可以是一个字符串,而其数据值则可以是链表内的指针。映射的查找速度非常快,同时,添加或者删除条目的速度也很快,它常和其他的数据结构一起使用。 映射类 |