1、前言
ace提供的佇列ace_unbounded_queue支援從頭部和尾部插入元素,但元素只能從頭部取出。這和c++提供的佇列不同,c++提供的佇列只允許在序列的尾部插入元素。
佇列的元素可以在堆上建立,也可以在棧上建立。
2、以下**測試的是在棧上建立元素。因此在方法返回時候,它們均會被釋放。
#pragma once
#include "ace/unbounded_queue.h"
class dataelement;
//ace的佇列支援在頭部和尾部新增元素,但元素總從頭部取出
class queue_practice
//在佇列的尾部新增元素
//按照順序新增元素:10,11,12,13,14,15,16,17,18,19
dataelement elem2[10];
for(i=0;i<10;i++)
//這樣,從佇列頭部到尾部的元素是:
//0,1,2,3,4,5,...19
//佇列總是從頭部開始取出
//下面是用迭代器來實現元素的讀取
//for(ace_unbounded_queue_iteratoriter(queue);!iter.done();iter.advance())
////也可以通過下面的方法來從佇列中取出元素,不同的是,取出時,元素從佇列中被移除了
while(!queue.is_empty())
ace_debug((lm_debug,ace_text("/n")));
return 0;}};
ACE篇之七 ACE容器之三(佇列)
1 前言 ace提供的佇列ace unbounded queue支援從頭部和尾部插入元素,但元素只能從頭部取出。這和c 提供的佇列不同,c 提供的佇列只允許在序列的尾部插入元素。佇列的元素可以在堆上建立,也可以在棧上建立。2 以下 測試的是在棧上建立元素。因此在方法返回時候,它們均會被釋放。prag...
ACE篇之六 ACE容器之二(棧)
1 前言 棧是lifo序列 後進先出 ace既支援動態棧,也支援靜態棧,靜態棧的尺寸固定,使用代價較低。ace提供了兩種靜態棧 有界棧ace bounded stack和固定棧ace fixed stack。動態棧在每次插入時候分配記憶體,每次彈出時候釋放該記憶體,即無界棧ace unbounded...
ACE篇之九 ACE容器之四(集合)
1 前言 集合是不允許其所含條目重複的序列。ace有兩種集合 有界集合和無界集合,即ace bounded set和ace unbounded set。它們支援插入 查詢 迭代。2 測試完整源 如下 原書本有多處錯誤 include ace containers.h include dataelem...