zoukankan      html  css  js  c++  java
  • 数据结构——栈、队列

    一、栈

    定义:栈是一个先入后出First In Last Out)的数据结构

    四个功能,插入,删除,判空,输出栈顶。

    int stack[N],tt = 0;
    
    void push(int a) //向栈顶加入元素
    {
        stack[tt++] = a;
    }
    
    void pop()		//删除栈顶元素
    {
        tt--;
    }
    
    bool empty()	//判断栈是否为空
    {
        if( tt)
            return 1;
        return 0;
    }
    
    int top()		//输出栈顶元素
    {
        return stack[tt-1];
    }
    

    二、队列

    定义:队列是一个先入先出First In First Out)的数据结构.

    同样四个功能:插入、删除、判空、输出队头

    int queue[N], hh = 0, tt = -1;
    
    void push( int a)	//向队列尾插入元素
    {
        queue[ ++tt] = a;
    }
    
    void pop()			//删除队头元素
    {
        hh++;
    }
    
    bool empty()		//判断队列是否为空
    {
        if( hh > tt)
            return 0;
        return 1;
    }
    
    int top()			//输出队头元素
    {
        return queue[hh];
    }
    

    为什么用数组模拟?因为快啊,数组模拟跑起来比STL快。

  • 相关阅读:
    05 css继承性
    04 选择器权重
    03 css三种引入的方式
    02 css实现举例
    01 css介绍
    05 dl-添加定义列表
    04 ol-热门点击排行榜
    02 h1 p hr br 特殊符号
    01html简介
    函数内置方法
  • 原文地址:https://www.cnblogs.com/trirabbits/p/11747664.html
Copyright © 2011-2022 走看看