C++建立队列_利用链表
来源:互联网 发布:linux怎么进入grub界面 编辑:程序博客网 时间:2024/04/29 11:35
// c++ 实现链表队列
// .h 文件
// 文件名: Queue.h
//-------------------------------------------------#pragma once//-------------------------------------------------#include <iostream>using namespace std;//-------------------------------------------------typedef int dataType;//------------------------// 节点类// 结构名称 Node // 参数说明data 为关键字// next 为指向下一个节点的指针struct Node{dataType data;Node * next;};//-------------------------------------------------// 队列类,// 类名 Queue , 建立链表队列class Queue{public:Queue(void);~Queue(void);void push(dataType );void pop();dataType front(); // 获取头元素bool IsEmpty(); // private:Node * head ; // 头指针Node * tail; // 尾指针};//-------------------------------------------------
// .cpp 文件
// 文件名Queue.cpp
//-------------------------------------------------#include "Queue.h"//-------------------------------------------------Queue::Queue(void){head = NULL;tail = NULL; // the queue is empty when head ==NULL tail == NULL}//-------------------------------------------------Queue::~Queue(void){Node * ptr = NULL;while (head != NULL ){ptr = head;head = head->next;delete ptr ;}}//-------------------------------------------------void Queue::push(dataType value ){Node * ptr = new Node ;ptr->data = value;ptr->next = NULL;if (tail != NULL ){tail->next = ptr;}else {head = ptr ;}tail = ptr ;}//-------------------------------------------------void Queue::pop(){Node *ptr = head ;head = head->next;delete ptr ;ptr = NULL;if (head == NULL )tail = NULL ;}//-------------------------------------------------dataType Queue::front() // 获取头元素 ,当队列为空时,返回值为0{if (this->IsEmpty() == true ){cout << "the Queue is empty!!" ;return 0;}return head->data;}//-------------------------------------------------bool Queue::IsEmpty(){return head==NULL && tail == NULL;}//-------------------------------------------------
// 主函数
// 文件名:main.cpp
//-------------------------------------------------// 2014--03--23// C++ 实现链表队列//-------------------------------------------------#include "Queue.h"//-------------------------------------------------// 编写主函数进行测试int main(){Queue qu;qu.push(324);qu.push(3224);qu.push(32324);qu.push(3214);qu.push(322354);cout << qu.front() << endl;qu.pop();cout << qu.front() << endl;qu.pop();cout << qu.front() << endl;qu.pop();cout << qu.front() << endl;qu.pop();cout << qu.front() << endl;qu.pop();cout << qu.front() << endl;cout << qu.IsEmpty() << endl;return 0;}//-------------------------------------------------
0 0
- C++建立队列_利用链表
- C:利用链表建立‘栈’
- C++_队列(Queue)
- 数据结构_线性表_顺序队列_循环队列_链队列
- 1181_建立链表
- 队列_链表实现
- 数据结构 链队列的建立及其函数 C语言版
- C语言_循环队列
- C语言_动态链表的简单建立与节点删除
- 数据结构_链队列
- C++利用类建立链表
- 数据结构_队列_用链表动态建立释放节点实现队列各种操作_C++实现
- 链表建立 c language
- 利用链表构建队列(100)
- 数据结构的C实现_链式队列
- 数据结构的C实现_循环队列
- 数据结构的C实现_循环队列
- C++_013_数据结构_队列类
- Window Resizing
- Transformations
- vim 粘贴 取消缩进 set noai
- html5的Models,分享一下自己的认识!
- Depth
- C++建立队列_利用链表
- 多层ul>li 如果获取第一层ul 下的li
- 题解。2014、C/C++本科B组【啤酒和饮料】
- Perspective
- Solid Shapes
- Gridland
- Backface Culling
- 那些不能错过的XCode插件
- 如何实现虚拟机重启后IP地址不变