mlfk.net
当前位置:首页 >> 定义链式队列数据结构及其初始化,进队,出队操作... >>

定义链式队列数据结构及其初始化,进队,出队操作...

#include #include using namespace std; struct ChainNode { char value; ChainNode* next; ChainNode(char v){ value = v; next = NULL; } }; class ChainQueue { public: ChainQueue(){ head = NULL; size = 0; } void push(char value){ if ...

void InitQueue(LiQueue *&q) {q=(LiQueue *)malloc(sizeof(LiQueue)); q->front=q->rear-NULL;} //初始化 int QueueEmpty(LiQueue *q) {if(q->rear==NULL) return 1; else return 0;} //判空 void enQueue( LiQueue *&q,ElemType e) {QNode *s;...

入队操作 功能:将元素 x 插入到Q的队尾。 算法:Status EnQueue(SqQueue &Q, QElemType e) { if ((Q.rear+1) % MaxQsize == Q.front) return ERROR; // 队列满 Q.base[Q.rear]=e; Q.rear=(Q.rear+1) % MaxQsize; return OK; } 出队操作 功能:...

你的代码是想把front到rear的值全部输出 但是你下面的操作自己检查一下没有改变front的值,也没有改变rear的值,所以front!=rear是死循环 如果好一点的话 void printQueue(LinkQueue *Q)/*依次输出队列*/ { if(Q->front==Q->rear) { printf("队...

/***************/ /* 链式队列 */ /***************/ #include "stdlib.h" #include "stdio.h" /* 定义链式队列类型 */ typedef int ElemType; typedef struct QNode { ElemType data; struct QNode *next; } QNode, *QueuePtr; typedef struct...

那你何苦用队列呢

import java.util.ArrayList; /** * * @author 狱韬 */ public class SnakeBody { private int size=0; //队列的长度 private int cursor=-1; //指针 private ArrayList list=null; //存储器 public SnakeBody() { list=new ArrayList(); //存储...

void printQueue(LinkQueue *Q)/*依次输出队列*/ { if(Q->front==Q->rear) { printf("队列为空"); exit(1); } while(Q->front!=Q->rear)/*老师告诉我说是这里的while是死循环,为什么是死循环呢,不是很懂,请细说。请帮我改为正确的代码,谢谢...

(VC6下编译通过) #include main() { int a[1000],top,tail; int i,n=1; do { switch (n) { case 1:top=tail=0;break; case 2:printf("输入要插入的元素:");scanf("%d",&a[++top]);break; case 3:if (tail

队列是一种特殊的线性表,是运算受到限制的一种线性表,只允许在表的一端进行插入,而在另一端进行删除元素的线性表。队尾(rear)是允许插入的一端。队头(front)是允许删除的一端。空队列是不含元素的空表。 根据这样的操作。队列特点是先进...

网站首页 | 网站地图
All rights reserved Powered by www.mlfk.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com