双端队列(dequeue)链表实现
来源:互联网 发布:中国如何注册io域名 编辑:程序博客网 时间:2024/05/01 08:02
#include<iostream>#define NULLDATA -1using namespace std;typedef int ElemType;typedef struct node *link;typedef struct Dqueue DoubleList;typedef struct node{ ElemType data; link next;}node;typedef struct Dqueue{ link dq; //dq为辅助指针,1、开始时进行初始化2、删除时也用到了 link head,end; }Dqueue;DoubleList *ob = (DoubleList *)malloc(sizeof(DoubleList));link newnode(ElemType v) //构造link型结点 注意而不是DoubleList型。{ link c = (link)malloc(sizeof(node)); c->data = v; c->next = NULL; return c;}void Init(DoubleList *ob){ ob->dq = (link)malloc(sizeof(node)); ob->dq->data = NULLDATA; ob->dq->next = NULL; ob->head = ob->end = ob->dq;}void Head_In( ElemType v){ if(ob->head->data == NULLDATA ) { ob->head->data = v; return ; } else { link c = newnode(v);c->next = ob->head; ob->head = c;return ; } }ElemType Head_Out( ){ ElemType c = ob->head->data; ob->head = ob->head->next; return c;}void End_In( ElemType v){ if(ob->end->data == NULLDATA) ob->end->data = v; else { link c = newnode(v); ob->end->next = c; ob->dq = ob->end; ob->end = ob->end->next; } }ElemType End_Out( ){ ElemType c = ob->dq->data; ob->dq->next = NULL; ob->end = ob->dq; return c;}void Show(DoubleList *h){ DoubleList *ptr = h; for(;ptr->head != NULL; ptr->head = ptr->head->next) { cout<<ptr->head->data<<endl; }}int main(){ Init(ob); for(int j = 0; j < 10 ;j++) End_In(10 - j); for(int i = 0; i < 10 ; i++) Head_In(i); End_Out(); End_Out(); End_Out(); End_In(132); End_In(333); Head_In(99); Head_In(102); Head_In(88); Head_Out(); Show(ob); return 0;}
总结:
无它,但手熟而。
- 双端队列(dequeue)链表实现
- 队列简要实现,是queue,不是dequeue
- 队列的enqueue, dequeue操作...
- 手写还算好用的 queue和Dequeue 为STL依赖党做些微小的工作 队列和双端队列
- 实现一个队列,这个队列除了有EnQueue, DeQueue操作,还有一个Max操作,三个操作复杂度都是O(1)
- dequeue 队列动画 以及进场出场动画
- jQuery队列控制方法详解queue()/dequeue()
- 双端队列(deque)链表实现
- 链表实现队列
- 链表实现队列
- 链表实现队列
- 链表实现队列
- 链表实现队列
- 队列:链表实现
- jQuery中queue和dequeue的用法 (juery 队列)
- jQuery队列控制方法详解queue()/dequeue()/clearQueue()
- jQuery队列控制方法详解queue()/dequeue()/clearQueue()
- Qquery 队列动画 queue() dequeue() clearqueue()
- C++类型-联合
- 语音识别 Windows 语音识别编程
- Codeforces Round #181 (Div. 2) B. Coach
- UVa:10324 - Zeros and Ones
- rsync服务器与客户端配置文件
- 双端队列(dequeue)链表实现
- CreateCompatibleBitmap返回NULL,GetLastError却返回0
- 新人第一篇,JAVA中获取本地tomcat路径
- function template函数模版
- VC鼠标拖动动态画矩形框
- 徐子:坐保成业,“百战百胜”(1)
- ARP:地址解析协议
- 转:ubuntu 下code blocks 安装全过程 && codeblocks 快捷键 && 解决调试终端不能粘贴问题
- 使IP最后一个点后面变成*