ACE篇之七 ACE容器之三(佇列)

2021-09-30 08:50:46 字數 783 閱讀 7769

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...