• 大小: 2KB
    文件类型: .cpp
    金币: 1
    下载: 0 次
    发布日期: 2021-05-14
  • 语言: C/C++
  • 标签: 链队列  数据结构  c  

资源简介

链队列(欠判队空操作) 主函数部分纯属测试 部分内容: Status InitQueue (LinkQueue &Q); // 构造一个空队列Q Status EnQueue (LinkQueue &Q,QElemType e) ;// 插入元素e为Q的新的队尾元素 Status DeQueue (LinkQueue &Q,QElemType &e);// 删除Q的队头元素 Status DestroyQueue(LinkQueue &Q); // 销毁队列Q int QueueLength(LinkQueue Q);// 求队列的长度 Status GetHead(LinkQueue Q,QElemType &e);//取队头元素 Status QueueTraverse(LinkQueue Q);//遍历

资源截图

代码片段和文件信息

#include 
#include 
using namespace std;

typedef int QElemType;
typedef int Status;

typedef struct QNode
{
QElemType      data;
struct QNode *next;
}QNode*QueuePtr;
typedef struct
{
QueuePtr  front;
QueuePtr  rear;
}linkQueue;

#define OVERFLOW -2
#define OK 1
#define ERROR 0
#define TRUE 1
#define FALSE 0


Status InitQueue (linkQueue &Q); // 构造一个空队列Q
Status EnQueue (linkQueue &QQElemType e) ;// 插入元素e为Q的新的队尾元素
Status DeQueue (linkQueue &QQElemType &e);// 删除Q的队头元素
Status DestroyQueue(linkQueue &Q); // 销毁队列Q

int QueueLength(linkQueue Q);// 求队列的长度
Status GetHead(linkQueue QQElemType &e);//取队头元素
Status QueueTraverse(linkQueue Q);//遍历
 

int main()
{
int i;
QElemType e;
linkQueue Q;
InitQueue(Q);
for(i=1;i<10;i++)EnQueue(Qi);
QueueTraverse(Q);
QueueLength(Q);
cout<<“队列长度为:“< DeQueue (Qe);
GetHead(Qe);
cout<<“删除队头元素后的队头元素为:“< DestroyQueue(Q);
return 0;
}


Status InitQueue (linkQueue &Q) // 构造一个空队列Q
{
   Q.front = Q.rear =(QueuePtr)malloc(sizeof(QNode));
   if (!Q.front) exit (OVERFLOW);//存储分配失败
   Q.front->next = NULL;
   return OK;
}

 Status EnQueue (linkQueue &QQEle

评论

共有 条评论