ACE篇之九 ACE容器之四(集合)

2021-05-04 06:42:47 字數 1199 閱讀 6749

1、前言

集合是不允許其所含條目重複的序列。ace有兩種集合:有界集合和無界集合,即ace_bounded_set和ace_unbounded_set。它們支援插入、查詢、迭代。

2、測試完整源**如下(原書本有多處錯誤)

#include "ace/containers.h"

#include "dataelement.h"

//集合測試

//集合是不允許其所含條目重複的序列

//ace有兩種集合:有界集合和無界集合

class set_practice

}//元素個數

ace_debug((lm_debug,ace_text("the sum of active objects is %d/n"),dataelement::numofactiveobjects()));

dataelement elem1(10),elem2(49);

//查詢元素

if(!bset.find(elem1)&&!bset.find(elem2))

for(int j=0;j<100;j++)

ace_debug((lm_debug,ace_text("/n")));

//元素移除後,再執行查詢

if((bset.find(elem[0])==-1)&&(bset.find(elem[49])==-1))

return 0;

}//測試無界集合,元素在堆上建立

//通過迭代器來進行集合元素訪問

int static rununboudedset(void)

dataelement debegin(0),deend(99);

//查詢元素

//從下面查詢的引數看,很顯然,元素是指標

if(!uset.find(&debegin)&&!uset.find(&deend))

ace_debug((lm_debug,ace_text("deleting the elements/n")));

//迭代器宣告

ace_unbounded_set_iteratoriter(uset);

//刪除元素後,集合中的指標將是無效的

for(iter=uset.begin();iter!=uset.end();iter.advance())

ace_debug((lm_info,ace_text("/n")));

return 0;}};

ACE篇之九 ACE容器之五(集合)

1 前言 集合是不允許其所含條目重複的序列。ace有兩種集合 有界集合和無界集合,即ace bounded set和ace unbounded set。它們支援插入 查詢 迭代。2 測試完整源 如下 原書本有多處錯誤 include ace containers.h include dataelem...

ACE篇之六 ACE容器之二(棧)

1 前言 棧是lifo序列 後進先出 ace既支援動態棧,也支援靜態棧,靜態棧的尺寸固定,使用代價較低。ace提供了兩種靜態棧 有界棧ace bounded stack和固定棧ace fixed stack。動態棧在每次插入時候分配記憶體,每次彈出時候釋放該記憶體,即無界棧ace unbounded...

Scala 學習(四) 集合之List

一,簡介 二,不可變list 三,可變listbuffer scala 列表類似於陣列,它們所有元素的型別都相同,但是它們也有所不同 列表是不可變的,值一旦被定義了就不能改變,其次列表 具有遞迴的結構 也就是鏈結表結構 而陣列不是。而listbuffer元素和長度都是可變的。該多用list而不是ar...