当前位置:首页 » 《资源分享》 » 正文

手撕STL(2)——队列的内部实现_小yueyue的博客

21 人参与  2021年09月29日 09:23  分类 : 《资源分享》  评论

点击全文阅读


在这里插入图片描述

文章目录

  • 前言
  • 代码(链表存储)

前言

队列小伙伴们一定不陌生,本节课蒟蒻君来带大家学习队列的内部实现。

代码(链表存储)

#include <bits/stdc++.h>
using namespace std;
// 定义链表 
template<class T>
struct node {
    T num;
    node<T>* nxt;
};
template<class T>
class MyQueue {
    private:
        node<T>* _Front;
		node<T>* _rear;
	public:
		// 构造函数:队首队尾开辟空间 
 		MyQueue() {
 			_Front = _rear = new node<T>;
 			_Front -> nxt = NULL;
		}
 		// 析构函数:销毁队列 
 		~MyQueue();
 		// 元素入队 
 		void _push(T x);
 		// 队首出队 
 		void _pop();
 		// 队列长度
		size_t _size(); 
 		// 队列是否为空 
 		bool _empty();
 		// 队首元素 
 		T _front();
};
template<class T>
MyQueue<T> :: ~MyQueue() {
 	while (_Front != NULL) {
		_rear = _Front -> nxt;
	    delete _Front;
	   _Front = _rear;
	}
    delete _rear;
}
template<class T>
void MyQueue<T> :: _push(T x) {
	node<T>* p = new node<T>;
    p -> num = x;
    _rear -> nxt = p;
    _rear = p;
    _rear -> nxt = NULL;
}
template<class T>
void MyQueue<T> :: _pop() {
	// 如果队列已经空了就报错
	if (_empty()) {
		throw"_empty";
	} 
 	node<T>* p = _Front -> nxt;
 	_Front -> nxt = p -> nxt;
 	delete p;
}
template<class T>
size_t MyQueue<T> :: _size() {
	node<T>* p = _Front;
	size_t sizes = 0;
	while (p != _rear) {
		p = p -> nxt;
		++sizes; 
	}
	return sizes;
}
template<class T>
bool MyQueue<T> :: _empty() {
 	return _Front == _rear;
}
template<class T>
T MyQueue<T> :: _front() {
 	return _Front -> nxt -> num;
}
int main() {
	// 测试 
	MyQueue<int> q;
	q._push(1);
	cout << q._front() << '\n';
	q._push(2);
	cout << q._size() << '\n';
	q._pop();
	cout << q._empty() << '\n'; 
	return 0;
}

在这里插入图片描述


点击全文阅读


本文链接:http://m.zhangshiyu.com/post/28956.html

队列  链表  前言  
<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

最新文章

  • 被绝色小姨子陷害,我快顶不住了章节目录_陈精苏若熙无法释怀_小说后续在线阅读_无删减免费完结_
  • 家宴过后,我捉奸了庶妹和我老公无广告_庶妹老公侍卫TOP10_小说后续在线阅读_无删减免费完结_
  • 寝室六个人,她们背着我建五人群必读文_太天真申请书冷笑最新阅读_小说后续在线阅读_无删减免费完结_
  • 开局获得狐仙传承结局+番外_江帆赵雪隐藏剧情_小说后续在线阅读_无删减免费完结_
  • 刀锈春根生,白骨犹温完结全文_卫舟棠棠知意一口气完结_小说后续在线阅读_无删减免费完结_
  • 夫君立筷子定我灾星罪名,我改嫁冷宫皇子后他追悔莫及好评_赵荀孟如安青瑶精心编著_小说后续在线阅读_无删减免费完结_
  • 邻居低素质,而我没素质独家番外_老太太赖皮欣欣超长版_小说后续在线阅读_无删减免费完结_
  • 重生后我转嫁首富瘸腿独子,总裁前夫却疯了一口气看完_妹妹傅云琛沈明辉独家番外_小说后续在线阅读_无删减免费完结_
  • 我拒绝给系花捐款后,全系同学悔疯了在线阅读_小说后续在线阅读_无删减免费完结_
  • 我让位给女友的透视眼竹马,他却说如果能重生再也不来了。虐心反转_玉石林若女友推荐_小说后续在线阅读_无删减免费完结_
  • 相国独子的丫鬟砸坏我的玉佩后,我当场拒婚阅读_玉佩陈郡谢氏全新_小说后续在线阅读_无删减免费完结_
  • 手术时,我看着病人惨死最新试读_淼淼陆知衍姜颜全本完结_小说后续在线阅读_无删减免费完结_

    关于我们 | 我要投稿 | 免责申明

    Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1