【数据结构】建立一个链队,实现该链队的入队和出队操作。
来源:互联网 发布:mac电脑发热严重 编辑:程序博客网 时间:2024/05/16 11:49
/*实验4:输入一组整型元素序列,建立一个链队,实现该链队的入队和出队操作。*/#include<stdio.h>#include<stdlib.h>#define OK 1;#define ERROR 0;typedef int Status;typedef int QElemType;typedef struct QNode{QElemType data;struct QNode *next;}QNode,*QueuePtr;typedef struct {QueuePtr front;QueuePtr rear;}LinkQueue;QueuePtr p;//初始化链栈Status InitQueue(LinkQueue &Q){Q.front = Q.rear = (QueuePtr)malloc(sizeof(QNode));if(!Q.front)exit(0);Q.front->next = NULL;return OK;}//删除链栈Status DestroyQueue(LinkQueue &Q){while(Q.front){Q.rear = Q.front->next;free(Q.front);Q.front = Q.rear;}return OK;}//进链栈Status EnQueue(LinkQueue &Q,QElemType e){p = (QueuePtr)malloc(sizeof(QNode));if(!p)exit(0);p->data = e;p->next = NULL;Q.rear -> next = p;Q.rear = p;return OK;}//出链栈Status DeQueue(LinkQueue &Q,QElemType &e){if(Q.front == Q.rear)return ERROR;p = Q.front ->next;e = p->data;Q.front ->next = p->next;if(Q.rear == p)Q.rear = Q.front;free(p);return OK;}void main(){LinkQueue q;printf("初始化链队\n");int i,x;InitQueue(q);printf("初始化链队成功!\n");printf("请输入入链队的数据:\n");for(i=1;i<=3;i++){scanf("%d",&x);EnQueue(q,x);}printf("入链队成功!");printf("以下为出栈数据:\n");for(i=1;i<=3;i++){DeQueue(q,x);printf("%4d",x);}printf("\n");printf("end!\n");}
By Mr.Z
- 【数据结构】建立一个链队,实现该链队的入队和出队操作。
- 【数据结构】队列的出队和入队操作
- 链队列的初始化、入队、出队等操作实现
- 队列的入队、出队操作实现
- 队列的入队和出队操作
- 链队列的初始化、入队、出队及打印(数据结构)
- 链表实现队列的出队和入队,栈的入栈和出栈
- 数据结构之队列的基本操作入队出队初始化删除-c++代码实现
- 编程实现队列入队出队操作
- 编程实现队列的入队/出队操作
- 编程实现队列的入队/出队操作
- 顺序队列基本操作的实现----入队、出队、打印
- 链队的创建、入队、出队
- 链队列的入队、出队
- 链队列的出队入队
- 编程实现顺序队列的入队操作和出队操作,并将出队结果输出
- 队列的出队/入队的操作
- 队列的入队/出队操作
- C++为什么没有重复定义错误?
- __FILE__,__LINE__,FUNCTION__实现代码跟踪调试
- Java异常总结
- 将一个整数逆序输出,分别给出递归和非递归算法
- 集体户落户指南 ( by quqi99 )
- 【数据结构】建立一个链队,实现该链队的入队和出队操作。
- LightOJ 1108 - Instant View of Big Bang(SPFA)
- c#调用c++带有回调函数方法的实现
- 上中下三栏自适应100%高度
- SQLServer数据库字段类型区别
- android 通过数组,流播放声音的方法
- 初识Redis
- 泛型
- Resources - Index