数据结构-链队列的基本操作
来源:互联网 发布:初级会计题库软件 编辑:程序博客网 时间:2024/05/11 17:18
//链队列的基本操作#include<iostream>using namespace std;typedef char elemtype;typedef struct queuelist{elemtype data;struct queuelist*next;}node;//链队数据结点的类型typedef struct{node*front;node*rear;}linkqueue;//链队结点的类型void outall(linkqueue*&q)//全部元素出队列{node*t;char e;int i=0;node*n=q->front;while(n!=NULL){if(q->rear==NULL)cout<<"run error"<<endl;t=q->front;if(q->front==q->rear)q->front=q->rear=NULL;elseq->front=q->front->next;e=t->data;free(t);i++;n=q->front;cout<<"元素"<<e<<"出队列,序号为:"<<i<<endl;}}void outelem(linkqueue*&q,elemtype i)//第i个位置的元素出队{node*t;char e;int n=0;while(i!=n){if(q->rear==NULL)cout<<"run error"<<endl;t=q->front;if(q->front==q->rear)q->front=q->rear=NULL;elseq->front=q->front->next;e=t->data;free(t);n++;}cout<<"元素"<<e<<"出队列!"<<endl;}void enter(linkqueue*&q,elemtype e)//进队列{node*p;p=(node*)malloc(sizeof(node));p->data=e;p->next=NULL;if(q->rear==NULL)q->front=q->rear=p;else{q->rear->next=p;q->rear=p;cout<<e<<"进队成功!"<<endl;}}void empty(linkqueue*q)//判断队列是否为空{if(q->rear==NULL)cout<<"队空!"<<endl;elsecout<<"非空!"<<endl;}void destroy(linkqueue*&q)//销毁队列{node*pre=q->front,*p;if(pre!=NULL){p=pre->next;while(p!=NULL){free(pre);pre=p;p=p->next;}}free(pre);cout<<"队列已销毁!"<<endl;}void init(linkqueue*&q)//初始化队列{q=(linkqueue*)malloc(sizeof(linkqueue));q->front=q->rear=NULL;}int main(){linkqueue*q;init(q);empty(q);enter(q,'a');enter(q,'b');enter(q,'c');empty(q);cout<<"输入想要出队元素的位置:";int n;cin>>n;outelem(q,n);enter(q,'d');enter(q,'e');enter(q,'f');outall(q);destroy(q);return 0;}
阅读全文
0 0
- 数据结构--链队列的基本操作
- 数据结构-链队列的基本操作
- 数据结构-链队列的基本操作
- 数据结构队列的基本操作
- 数据结构 队列的基本操作
- 【数据结构】 队列的基本操作
- 【数据结构】队列的基本操作
- [数据结构]队列的基本操作
- 队列的基本操作 数据结构
- 链队列基本操作-数据结构
- 数据结构--链队列基本操作
- 数据结构(C语言版)链队列的基本操作
- 数据结构 循环队列的基本操作
- 【数据结构】链式队列的基本操作
- 数据结构-队列的基本操作实现
- 数据结构-循环队列的基本实现操作
- 数据结构——队列的基本操作
- 数据结构-循环队列的基本操作
- 7-19 排座位(25 分)
- 处理字符串
- 名词解释
- mangos源码分析
- PHP学习笔记 -- 多表连接查询
- 数据结构-链队列的基本操作
- openstack安装学习(认证服务)
- spring cloud使用ribbon实现负载均衡
- 理解VectorDrawable轨迹动画中的trimPathStart和trimPathEnd属性
- 高通 camera 调试
- java使用淘宝的接口获取Ip对应的地区信息
- 【Unity3d】Unity5与Android交互通信(使用Android Studio2.4)
- 每日一练(20171109)
- Linux用户密码期限修改