Queue Operator

原创 2007年09月29日 12:31:00

Simple Queue Operator

#include <iostream.h>
#include <stdio.h>
#include <malloc.h>
typedef struct student{
 int data;
 struct student *next;
}SNode;
typedef struct linkqueue{
 struct student *front,*rear;
}LQueue;

bool InitLQueue(LQueue &LQ){
 LQ.front=(SNode *)malloc(sizeof(SNode));
 if(!LQ.front) return false;
 LQ.rear=LQ.front;
 LQ.front->next=NULL;
 return true;
}
bool InsertQueue(LQueue &LQ,int x){
 SNode *s;
 s=(SNode*)malloc(sizeof(SNode));
 if(!s) return false;
 s->data=x;
 s->next=NULL;
 LQ.rear->next=s;
 LQ.rear=s;
 return true;
}
bool DeQueue(LQueue &LQ, int &e){
 if(LQ.front == LQ.rear) return false;
 SNode * s=LQ.front->next;
    e=s->data;
 LQ.front->next=s->next;
 if(LQ.rear==s) LQ.rear=LQ.front;
 free(s);
 return true;
}
int GetLengthLQ(SNode *LN){
 int n=0;
 SNode *p=LN;
 while(p)
 {
  p=p->next;
  n++;
 }
 return n;
}
void DisplayLQ(LQueue &LQ){
 SNode *p=LQ.front->next;
 while(p){
  printf("%d/n",p->data);
  p=p->next;
 }
}

-------------------------------------------------------------------------------------------------------------------

Loop  Queue Operator

#include <stdio.h>
#include <malloc.h>
#define MAXQSIZE 6
typedef struct {
 int *base;
 int front;
 int rear;
}LSQueue;

bool InitQueue(LSQueue &Q){
 Q.base= (int *) malloc (MAXQSIZE*sizeof(int));
 if(!Q.base)return false;
 Q.front=Q.rear=0;
 return true;
}
bool EnQueue(LSQueue &Q,int e){
 if((Q.rear+1)%MAXQSIZE == Q.front)return false;
 Q.base[Q.rear]=e;
 Q.rear= (Q.rear+1)% MAXQSIZE;
 return true;
}
bool DeQueue(LSQueue &Q,int &e){
 if(Q.front == Q.rear) return false;
 e=Q.base[Q.front];
 Q.front=(Q.front+1)%MAXQSIZE;
 return true;
}
void DisplayLSQ(LSQueue &Q){
 LSQueue p =Q;
 while(p.front != p.rear){
  printf("%d/n",p.base[p.front]);
  p.front = (p.front +1)%MAXQSIZE;
 }
}

Passpoint R1 Operator Best Practices

  • 2017年12月07日 22:07
  • 744KB
  • 下载

matrix simple operator

  • 2014年03月19日 17:20
  • 9KB
  • 下载

PL/SQL 运算符(Operator)

-- Start 赋值运算符(Assignment Operator) DECLARE X INT := 1; -- 赋值运算符 := BEGIN DBMS_OUTPUT.put_li...

operator theory

  • 2015年10月23日 13:33
  • 17.91MB
  • 下载

PSSu E F 4DO_operator manual

  • 2015年06月04日 09:46
  • 1.96MB
  • 下载

C++学习 operator两种用法详解

转换函数的名称是类型转换的目标类型,因此,不必再为它指定返回值类型;转换函数是被用于本类型的数值或变量转换为其他的类型,也不必带参数   在写这篇文章之前,让我们先回顾一下编译器通过匹配过程确...
  • skdkjxy
  • skdkjxy
  • 2015年05月20日 16:56
  • 5802

PSSu E F 4DI_operator manual

  • 2015年06月04日 09:43
  • 1.92MB
  • 下载

Zigbee Operator V1.0.0.137

  • 2012年09月16日 18:02
  • 2.67MB
  • 下载

C++那些细节--中operator=相关问题

C++中关于operator=的相关知识整理,涉及深拷贝浅拷贝,以及一些拷贝构造函数的知识...

ZigBee Operator

  • 2012年06月02日 18:57
  • 2.79MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Queue Operator
举报原因:
原因补充:

(最多只允许输入30个字)