队列的一些操作(线性表,链式)
来源:互联网 发布:耳机煲机软件 编辑:程序博客网 时间:2024/05/16 12:03
#include <stdio.h>#define MAX_STACK_SIZE 100#define ERROR 0#define OK 1typedef int ElemType;typedef int Status;#define MAX_QUEUE_SIZE 100typedef struct queue{ ElemType Queue_array[MAX_QUEUE_SIZE]; int front; int rear;}SqQueue;// 设立一个队首指针front,一个队尾指针rear,分 别指向队首和队尾元素//循环队列//循环队列的初始化SqQueue Init_CirQueue(void){ SqQueue Q;; Q.front = Q.rear = 0; return (Q);}//入队操作(将数据元素e插入到循环队列Q的队尾Status Insert_CirQueue(SqQueue Q,ElemType e){ if((Q.rear+1)%MAX_QUEUE_SIZE == Q.front) return ERROR; Q.Queue_array[Q.rear] = e; Q.rear = (Q.rear+1)%MAX_QUEUE_SIZE; return OK;}//出对操作(将循环队列Q的对首元素出队Status Delete_CirQueue(SqQueue Q,ElemType *x){ if(Q.front+1 == Q.rear) return ERROR; *x = Q.Queue_array[Q.front]; Q.front = (Q.front+1)%MAX_QUEUE_SIZE; return OK;}//链队运算及指针变化//定义//数据元素结点的定义typedef struct Qnode{ ElemType data; struct Qnode *next;}QNode;typedef struct link_queue{ QNode *front,*rear;}Link_Queue;//链队的初始化Link_Queue *Init_LinkQueue(void){ Link_Queue *Q; QNode *p; p = (QNode *)malloc(sizeof(QNode)); p ->next=NULL; Q = (Link_Queue *)malloc(sizeof(Link_Queue)); Q->front = Q->rear = p; return (Q);}//链队列的入队操作,将数据元素e插入到链队列Q的队尾Status Link_Insert_CirQueue(Link_Queue *Q,ElemType e){ QNode *p; p = (QNode *)malloc(sizeof(QNode)); if(!p) return ERROR; p->data; p->next=NULL; Q->rear->next = p->next; Q->rear = p; return OK;}//链的队列的出队操作Status LInk_Delete_CirQueue(Link_Queue *Q,ElemType *x){ QNode *p; if(Q->front == Q->rear) return ERROR;//队空 p = Q->front->next; *x = p->data; Q->front->next = p->next; if(p == Q->rear) Q->rear = Q->front; free(p); return OK;}//链队列的撤销将链队列Q的队首元素出队void Destroy_LinkQueue(Link_Queue *Q){ while(Q->front!= NULL) { Q->rear = Q->front->next; free(Q->front); Q->front = Q->rear; }}int main(){}
阅读全文
0 0
- 队列的一些操作(线性表,链式)
- 链式队列一些操作
- 链式线性表的操作
- 线性表的链式操作
- 【数据结构】 链式队列的一些操作
- 线性表-队列的链式表示
- 线性表(List)---队列的链式存储
- 线性表的链式存储(单链表)的基本操作
- 链式队列的基本操作(配图)
- 线性表、栈、队列的链式存储结构
- 数据结构之线性表——队列的链式存储
- 链式队列的操作实现
- 队列的链式存储操作
- 链式队列的基本操作
- 线性表的链式表示和实现(链式)
- 线性表的链式存储的插入与删除操作
- 线性表的链式存储(链表)
- 线性表的链式存储(LinkList)
- c语言变量初始化
- CC2640R2F之基础--工程管理篇(下)--外设驱动IO口分配(纯干货)
- 基础练习 BASIC-19 完美的代价
- Python内置高阶函数map,reduce,filter,sorted,zip
- leetcode 51 -N皇后
- 队列的一些操作(线性表,链式)
- CIFAR_10处理数据——搭建模型——训练模型
- lspci命令详解
- Discuz!开发之全局变量$_G详解
- 9.25 (周一)
- smoj1987(cdq分治+离散化/数据结构)
- HDU2147 Brave Game (巴什博弈 )
- Code Composer Studio 7.3.0安装错误。
- Manthan, Codefest 17-E-Salazar Slytherin's Locket(数位DP)