博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C++面向对象实现链式队列——第一篇博客
阅读量:3966 次
发布时间:2019-05-24

本文共 1745 字,大约阅读时间需要 5 分钟。

C++面向对象实现链式队列

结点类:

class LinkNode{
public: int data; LinkNode *next;};

队列类:

class LQueue{
public: LQueue(); virtual ~LQueue(); //析构函数 void InitQueue(LQueue &); //初始化队列 void EnQueue(LQueue &,int&); //入队 void TraverseQueue(LQueue &); //遍历 bool isEmpty(LQueue &); //判空 bool DelQueue(LQueue&,int&); protected: private: LinkNode *front,*rear;};LQueue::LQueue(){
//ctor}LQueue::~LQueue(){
//dtor}//初始化队列void LQueue::InitQueue(LQueue &LQ){
LQ.front=LQ.rear= new LinkNode [sizeof(LinkNode)];//创建头结点,头结点不保存数据 LQ.front->next=NULL;}//入队void LQueue::EnQueue(LQueue &LQ,int& val){
LinkNode* q=LQ.rear; LinkNode* p=(LinkNode*)malloc(sizeof(LinkNode)); p->data=val; p->next=NULL; q->next=p; LQ.rear=p;}//判空bool LQueue::isEmpty(LQueue &LQ){
if(LQ.front==LQ.rear) return true; else return false;}//遍历void LQueue::TraverseQueue(LQueue &LQ){
LinkNode* p; if(isEmpty(LQ)) {
cout<<"空队列!"<
next; while(p!=NULL) {
cout<<"元素为"<
data<
next; }}//出队bool LQueue::DelQueue(LQueue& LQ,int&x){
if(isEmpty(LQ)) return false; LinkNode *p=LQ.front->next; x=p->data; LQ.front->next=p->next; if(LQ.rear==p) LQ.rear=LQ.front; //当队伍中只有一个元素时,出队后就为空 free(p); return true;}

主函数

#include 
#include
using namespace std;int main(){
int x[]={
2,3,4,6}; int val=0; LQueue Lq; LQueue LQ2; LQueue Q; Lq.InitQueue(Q); Lq.InitQueue(LQ2); for(int i=0;i<(int)(sizeof(x)/sizeof(int));i++) {
Lq.EnQueue(Q,x[i]); } cout<<"Q队伍为"<

转载地址:http://xdyki.baihongyu.com/

你可能感兴趣的文章
[第9课] 箱线图
查看>>
[第10课] 箱线图2
查看>>
[第11课]统计:集中趋势
查看>>
[第12课] 统计:样本和总体
查看>>
[第13课] 统计:总体方差
查看>>
[第14课] 统计:样本方差
查看>>
[第15课] 统计:标准差
查看>>
[第16课]统计:诸方差公式
查看>>
[第17课] 随机变量介绍
查看>>
[第18课] 概率密度函数
查看>>
Pandas 精萃
查看>>
[第19课] 二项分布1
查看>>
什么是 Pandas?
查看>>
Pandas 如何创建 DataFrame
查看>>
Pandas 查看数据
查看>>
[第20课] 二项分布2
查看>>
感 冒
查看>>
职业瓶颈
查看>>
有些问题不一定要一次完成,有时候可以增加中间步骤
查看>>
Eclipse 常用快捷键
查看>>