亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C++ > 正文

C++數據結構與算法之雙緩存隊列實現方法詳解

2020-01-26 13:57:00
字體:
來源:轉載
供稿:網友

本文實例講述了C++數據結構與算法之雙緩存隊列實現方法。分享給大家供大家參考,具體如下:

“雙緩存隊列”是我在一次開發任務中針對特殊場景設計出來的結構。使用場景為:發送端持續向接收端發送數據包――并且不理會接收端是否完成業務邏輯。由于接收端在任何情況下停止響應即可能產生數據丟失,因此無法簡單的設計一條線程安全隊列來對數據寫入或讀?。ㄗx取數據時將隊列上鎖視為對寫入的停止響應)。

鑒于此,我的設計思路如下:

接收端首先向A隊列中寫入數據,然后當數據處理請求到來的時候切換到B隊列繼續寫入,之后將A隊列中的數據交給數據處理模塊,處理完成以后A隊列數據清空。當下一次數據處理請求到來時,再將寫入請求切換回A隊列,并把B隊列中的數據提交給數據處理模塊再清空隊列B,輪流作業。

有了思路以后,代碼就比較簡單了。

#include <list>template<typename T>class DoubleArray {  struct NODE {    T t;    NODE* next;  };  int size_a;  int size_b;  NODE* header_a;  NODE* header_a_cur;  NODE* header_b;  NODE* header_b_cur;  int trigger;public:  DoubleArray() : size_a(0), size_b(0), trigger(0), header_a(0), header_a_cur(0), header_b(0), header_b_cur(0) {  }  int push(T t);  std::list<T>& fetch(std::list<T>& list);};template<typename T>int DoubleArray<T>::push(T t) {  NODE *n = new NODE;  n->t = t;  n->next = 0;  if (size_a == 0 && trigger == 0) {    header_a = n;    header_a_cur = n;    size_a++;  } else if (size_b == 0 && trigger == 1) {    header_b = n;    header_b_cur = n;    size_b++;  } else {    switch (trigger) {      case 0:        header_a_cur->next = n;        header_a_cur = n;        size_a++;        break;      case 1:        header_b_cur->next = n;        header_b_cur = n;        size_b++;        break;    }  }}template<typename T>std::list<T>& DoubleArray<T>::fetch(std::list<T>& list) {  switch (trigger) {    case 0:      if (header_a != 0) {        // change b        trigger = 1;        // fetch a        NODE* temp = header_a;        while (temp) {          list.push_back(temp->t);          temp = temp->next;        }        // delete a        temp = header_a;        for (int i = 0; i < size_a; ++i) {          NODE* p = temp;          temp = temp->next;          delete p;        }        size_a = 0;        header_a = 0;        header_a_cur = 0;      }      break;    case 1:      if (header_b != 0) {        // change a        trigger = 0;        // fetch b        NODE* temp = header_b;        // delete b        while (temp) {          list.push_back(temp->t);          temp = temp->next;        }        temp = header_b;        for (int i = 0; i < size_b; ++i) {          NODE* p = temp;          temp = temp->next;          delete p;        }        size_b = 0;        header_b = 0;        header_b_cur = 0;      }      break;  }  return list;}

注:開發環境與IDE分別為CentOS 7,NetBeans 8.2

希望本文所述對大家C++程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
中文字幕亚洲第一| 久久成人人人人精品欧| 成人羞羞国产免费| 国产美女扒开尿口久久久| 精品视频在线导航| 久久久久久国产三级电影| 日韩一区二区福利| 91九色视频导航| 久久久久女教师免费一区| 性视频1819p久久| 亚洲国产精品福利| 久久精品国产成人| 成人精品一区二区三区电影免费| 亚洲天堂网在线观看| 亚洲免费小视频| 久热99视频在线观看| 精品国产依人香蕉在线精品| 成人激情春色网| 成人黄色在线观看| 欧美日韩xxx| 国产午夜精品视频免费不卡69堂| 日本一区二区在线播放| 久久精品视频亚洲| 国产精品国内视频| 97在线免费观看视频| 久久激情视频免费观看| 欧美日韩久久久久| 91亚洲国产成人精品性色| 在线观看日韩视频| 91国产美女视频| 欧美激情精品久久久久久久变态| 中文字幕亚洲图片| 久久精品国产综合| 91免费看片在线| 日韩视频永久免费观看| 98精品国产自产在线观看| 日本久久91av| 成人h猎奇视频网站| 中文字幕av一区中文字幕天堂| 国产精品成人一区二区三区吃奶| 国产亚洲激情在线| 久久久久久18| 欧美日韩中文字幕| 成人字幕网zmw| 中文字幕亚洲专区| 午夜精品久久久久久久99热浪潮| 国产一区二区三区在线| 富二代精品短视频| 欧美日韩中文字幕综合视频| 欧美理论电影网| 亚洲人在线视频| 久久夜色撩人精品| 国产精品一久久香蕉国产线看观看| 国产欧美亚洲精品| 久久在线观看视频| 精品视频久久久久久| 91精品一区二区| 欧美亚洲另类在线| 国产999精品久久久影片官网| 日本亚洲欧洲色α| 成人免费观看网址| 在线日韩中文字幕| 国产精品你懂得| 久久中文字幕在线视频| 清纯唯美日韩制服另类| 九色精品美女在线| 色婷婷久久一区二区| 精品久久久91| 亚洲激情视频网站| 久久免费视频在线观看| 亚洲毛茸茸少妇高潮呻吟| 国产一区二区黑人欧美xxxx| 中文字幕最新精品| 中文字幕亚洲专区| 美女啪啪无遮挡免费久久网站| 国产精品一区二区久久精品| 国产精品看片资源| 久久成年人免费电影| 日韩精品免费在线观看| 欧美特黄级在线| 国产精品久在线观看| www高清在线视频日韩欧美| 国产v综合v亚洲欧美久久| 亚洲女人被黑人巨大进入al| 久久久久成人精品| 欧美日韩美女视频| 成人中文字幕在线观看| 久久人人爽人人爽爽久久| 成人免费观看49www在线观看| 欧美精品在线第一页| 亚洲最新av网址| 亚洲第一福利网站| 欧美美女操人视频| 久久人人97超碰精品888| 91在线观看免费网站| 大胆人体色综合| 久久久国产精品免费| 国产偷亚洲偷欧美偷精品| 亚洲综合日韩在线| 日韩经典一区二区三区| 91午夜在线播放| 国自产精品手机在线观看视频| 最近2019中文字幕一页二页| 亚洲欧美成人在线| 国产97色在线|日韩| 亚洲成人xxx| 欧美视频中文字幕在线| 国产在线视频2019最新视频| 国产综合香蕉五月婷在线| 一区二区三区黄色| 日韩精品视频在线免费观看| 欧美性生交xxxxx久久久| 午夜精品一区二区三区av| 中国日韩欧美久久久久久久久| 久久久久久久久久久免费精品| 91社区国产高清| 欧美影院成年免费版| 国产精品成人在线| 欧美一区视频在线| 97国产精品人人爽人人做| 国语自产精品视频在免费| 国产精品视频免费观看www| 粉嫩老牛aⅴ一区二区三区| 国产精品久久久久福利| 在线色欧美三级视频| 91精品中文在线| 久久久久久久一| 亚洲电影免费观看高清完整版在线观看| 成人福利免费观看| 欧美激情第99页| 欧美激情亚洲自拍| 日韩有码在线播放| 日本精品久久中文字幕佐佐木| 中文字幕日韩综合av| 亚洲a成v人在线观看| 欧美性少妇18aaaa视频| 91香蕉嫩草影院入口| 日韩视频中文字幕| 国产91在线高潮白浆在线观看| 国产日韩欧美黄色| 久久久之久亚州精品露出| 精品久久久久久中文字幕大豆网| 91夜夜未满十八勿入爽爽影院| 91久久久久久久一区二区| 国产精品稀缺呦系列在线| 亚洲高清免费观看高清完整版| 人人澡人人澡人人看欧美| 日韩在线观看电影| 这里只有精品久久| 亚洲免费成人av电影| 欧美日韩成人黄色| 亚洲欧美变态国产另类| 最好看的2019的中文字幕视频| 亚洲欧美色图片| 亚洲性69xxxbbb| 国产精品一区电影| 亚洲视频999| 亚洲美女黄色片| 精品露脸国产偷人在视频| 亚洲影院色无极综合| 91成人国产在线观看| 日韩麻豆第一页| 国产不卡av在线| 97超碰蝌蚪网人人做人人爽|