链式队列
来源:互联网 发布:人工智能摧毁人类 编辑:程序博客网 时间:2024/05/20 14:23
<span style="font-size:24px;">/*链式队列*/#include <stdio.h>#include <stdlib.h>#include <malloc.h>#define OK true#define ERROR false#define OVERFLOW -1typedef bool statue;typedef int Qelemtype;typedef struct node{Qelemtype elem;node *next;}NODE,*pNODE;typedef struct{pNODE pFront;pNODE pRear;}Qeueu;statue iniQueue(Qeueu *sq){//初始化sq->pFront=(pNODE)malloc(sizeof(NODE));if(sq->pFront==NULL){printf("内存分配失败\n\n");exit(OVERFLOW);}sq->pRear=sq->pFront;return OK;}statue isEmpty(Qeueu sq){if(sq.pFront==sq.pRear)return OK;return ERROR;}statue EnQueue(Qeueu *sq,Qelemtype val){//入队pNODE pnew=(pNODE)malloc(sizeof(NODE));if(pnew==NULL){printf("内存分配失败\n\n");exit(OVERFLOW);}pnew->elem=val;sq->pRear->next=pnew;pnew->next=NULL;sq->pRear=pnew;return OK;}statue DeQueue(Qeueu *sq,Qelemtype *val){//出队if(isEmpty(*sq)){return ERROR;}*val=sq->pFront->elem;pNODE p=sq->pFront;sq->pFront=sq->pFront->next;free(p);return OK;}void showQueue(Qeueu sq){if(isEmpty(sq)){printf("EMPTY\n");return;}while(!isEmpty(sq)){printf("%d ",sq.pFront->next->elem);sq.pFront=sq.pFront->next;}printf("\n");}int main(){Qeueu sq;int val;iniQueue(&sq);EnQueue(&sq,2);EnQueue(&sq,3);DeQueue(&sq,&val);EnQueue(&sq,4);showQueue(sq);return 0;}</span>
0 0
- 链式队列
- 链式队列
- 链式队列
- 链式队列
- 队列--链式
- 链式队列
- 链式队列
- 链式队列
- 链式队列
- 链式队列
- 队列-链式
- 链式队列
- 链式队列
- 链式队列
- 链式队列
- 链式队列
- 链式队列
- 链式队列
- (一)数据库就是这样-JDBC及相关
- 一些前端的笔记
- 比特币脚本
- 数据段,代码段,堆栈段,BSS段区别
- Linux cp命令
- 链式队列
- Swift代码拆建按钮
- C#前面的_161017
- Android Canvas绘图详解(图文)
- 关于php函数empty()和isset()
- mxnet软连接 与 mexopencv
- Android_使用高德地图遇到的问题(1)
- 查询SCI期刊分区及影响因子
- Mysql用户添加权限