模拟队列

​ C++模拟队列的实现~

/*************************************************************************
	> File Name: p.cpp
	> Author: Zcy
	> Mail: 296763002@qq.com
	> Created Time: 三  1/23 18:16:17 2019
 ************************************************************************/

#include <stdio.h>
#include <stdlib.h>
using namespace std;

template <typename type> class Que{
private:
    type *data;
    int head, tail;
public:
    Que() {
        head = 0;
        tail = -1;
        data = (type *)malloc(sizeof(type) * 105);
    }
    ~Que() {
        free(this -> data);
    }
    void add(type data) {
        tail++;
        this -> data[tail] = data;
        return;
    }
    void pop() {
        if (!empty()) {
            head++;
        }
        return;
    }
    bool empty() {
        return head > tail;
    }
    void output() {
        for (int i = head; i <= tail; i++) {
            printf("%d%c", data[i], i == tail? '\n': ' ');
        }
        return;
    }
    int gethead() {
        return head;
    }
    int gettail() {
        return tail;
    }
};

int main () {
    int n, m, val;
    Que<int> que;
    scanf("%d", &n);
    for (int i = 1; i <= n; i++) {
        scanf("%d", &val);
        que.add(val);
    }
    scanf("%d", &m);
    for (int i = 1; i <= m; i++) {
        que.pop();
    }
    que.output();
    return 0;
}

转载请注明出处!!!

如果有写的不对或者不全面的地方 可通过主页的联系方式进行指正,谢谢

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值