zoukankan      html  css  js  c++  java
  • 常见数据结构及基本用法

    1:stack(#include<stack>)

    size( ) :返回栈中元素个数

    top( ) :返回栈顶的元素

    pop( ) :从栈中取出并删除元素

    push(e) :向栈中添加元素e

    empty( ) :栈为空时返回true

    {

    手写栈

    int s[100005],tot=0;
    #define push(x) s[++tot]=x
    #define pop tot--
    #define size tot
    #define top s[tot]
     

    }

    2:vector(#include<vector>)

    push_back( ) :向量末尾插入元素

    pop_back( ) :向量末尾删除元素

    size( ) :获取向量中的元素个数

    empty( ):判断向量是否为空

    clear( ):清空向量中的元素

    a=b 将b向量复制到a向量中

    比较:保持 ==、!=、>、>=、<、<= 的惯有含义 ;

    如: a == b ; //a向量与b向量比较, 相等则返回1

    3 : (1)queue(#include<queue>)

    front():返回 queue 中第一个元素的引用

    back():返回 queue 中最后一个元素的引用

    push() : 向 queue 末尾插入一个元素

    pop():删除 queue 中的第一个元素

    size():返回 queue 中元素的个数

    empty():如果 queue 中没有元素的话,返回 true

    {

    (手写队列)

    int s[100005],fnt,end;
    #define push(x) s[++end]=x
    #define pop fnt++
    #define front s[fnt]
    #define size end-fnt+1
     

    }

     (2)priority_queue

    top(): 访问队头元素

    empty(): 队列是否为空

    size(): 返回队列内元素个数

    push(): 插入元素到队尾 (并排序)

    可自定义{

    默认从大到小;

    更改:

    friend bool operator <(use a,use b){

    return a.x>b.x;}

    }

     4:deque

     deq.size():容器大小

    max_size():容器最大容量

    deq.resize():更改容器大小

    empty():容器判空

    push_front():头部添加元素

    psuh_back():末尾添加元素

    pop_front():头部删除元素

    pop_back():末尾删除元素

    可下标访问但时间复杂度大

  • 相关阅读:
    LeetCode 264. Ugly Number II
    LeetCode 231. Power of Two
    LeetCode 263. Ugly Number
    LeetCode 136. Single Number
    LeetCode 69. Sqrt(x)
    LeetCode 66. Plus One
    LeetCode 70. Climbing Stairs
    LeetCode 628. Maximum Product of Three Numbers
    Leetcode 13. Roman to Integer
    大二暑假周进度报告03
  • 原文地址:https://www.cnblogs.com/zyfltyyz/p/11712919.html
Copyright © 2011-2022 走看看