单链表实现队列
来源:互联网 发布:iis7端口设置 编辑:程序博客网 时间:2024/05/01 21:12
#include<iostream>#include <limits>#include <ctime>using namespace std;typedef struct list{//用链表实现队列int value;list *next;}list, *plist;typedef struct queue{//队列plist head;plist tail;}queue,*pqueue;void enqueue(pqueue &l,plist node)//队列-向链表中添加元素{l->tail->next=node;l->tail=node;}int dequeue(pqueue &l){int re=numeric_limits<int>::min();if(l->head==l->tail){cout<<"empty queue"<<endl;return re;}plist p;re=l->head->next->value;p=l->head->next;//删除节点l->head->next=l->head->next->next;delete p;//删除节点if(l->head->next==NULL)//如果是最后一个节点,则修改tail的值l->tail=l->head;return re;}void init(pqueue &l,plist node){l->head=node;l->tail=node;}int main(){srand((unsigned)time(NULL));list head;//队列头结点head.next=NULL;head.value=numeric_limits<int>::min();queue *q=new queue;init(q,&head);int count,count1,count2;while(count=rand()%20,count<5);count=4;for(int i=0;i<count;++i){while(count1=rand()%8,count1<3);while(count2=rand()%8,count2<3);//count1=5,count2=5;plist ls;int tmp;cout<<"count1 is :"<<count1<<endl;for(int i=0;i<count1;++i){ls=new list;//队列结点ls->next=NULL;tmp=rand()%21-10;ls->value=tmp;cout<<tmp<<"\t";enqueue(q,ls);}cout<<endl;cout<<"count2 is :"<<count2<<endl;ls=&head;for(int i=0;i<count2;++i){cout<<dequeue(q)<<"\t";}cout<<endl;}}
0 0
- 单链表实现队列
- 单链表实现的队列
- 单链表实现队列
- java 单链表实现队列
- 单链表实现队列 栈
- 数据结构-单链表实现队列
- 使用单链表实现链队列
- 数据结构--单链表实现队列1
- 单链表实现一个随机队列
- 实现单链表、栈、队列功能
- 单链表队列的简单实现
- 单链表实现队列链式存储
- 队列实现
- 队列实现
- 队列实现
- 队列实现
- 队列实现
- 队列实现
- (二)工厂方法模式
- 第9天 二维数组中查找指定数字
- 我的书,我的学习路程
- 1.2、Activity的状态保存
- uva 297 Quadtrees
- 单链表实现队列
- CUGB图论专场:F - Cow Marathon(邻接表+dfs的最长继承)
- RSS阅读器的实现
- hdu 1569 最大流建图
- nfs:server is not responding,still tryin
- USB驱动程序
- 单例模式的常见应用场景
- Winform里有关Combobox的一些操作
- PHP中获取当前页面的完整URL