有关栈、队列、堆的函数使用总结

C++版本:

栈:

     #include< stack >    定义:stack< int > s;
     s.empty();         //如果栈为空则返回true, 否则返回false;
     s.size();          //返回栈中元素的个数
     s.top();           //返回栈顶元素, 但不删除该元素
     s.pop();           //弹出栈顶元素, 但不返回其值
     s.push();          //将元素压入栈顶

  
队列:

      #include< queue> 。定义:queue< int > q;
      q.empty()               如果队列为空返回true,否则返回false
      q.size()                返回队列中元素的个数
       q.pop()                 删除队列首元素但不返回其值
      q.front()               返回队首元素的值,但不删除该元素
       q.push()                在队尾压入新元素
      q.back()                返回队列尾元素的值,但不删除该元素


堆:

1、使用队列定义堆:

       #include< queue>

        priority_queue<int> q;  默认最大堆

       priority_queue<int,vector<int>,less<int> >;定义最大堆  //后面有一个空格

        priority_queue<int,vector<int>,greater<int> >q;定义最小堆  //后面有一个空格

2、直接使用库函数:

        #include <algorithm>

        make_heap: 根据指定的迭代器区间以及一个可选的比较函数,来创建一个heap.

        push_heap: 把指定区间的最后一个元素插入到heap中. 

        pop_heap: 弹出heap顶元素, 将其放置于区间末尾. 

        sort_heap:堆排序算法,通常通过反复调用pop_heap来实现.

 

python 版本

参考博客:https://www.cnblogs.com/BASE64/p/10956768.html

栈:

    列表就能实现。

 

队列:

    1、from collections import deque

         d = deque()

   2、form queue import Queue

         q = Queue()  #创建队列对象

 

堆:

    import heapq

   heapq模块实现了一个适用于python列表的最小堆排序算法。

内容不完整,后续补充。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值