C++ Stack & Queue & priority_queue

  • 栈stack:stack 后入先出(LIFO)

q.top() 获取栈顶元素(并不删除)
q.pop() 删除栈顶元素
q.push(x) 向栈中加入元素
q.empty() 判断栈是否为空
  • 队列queue:先入先出(FIFO)

q.front() 获取队首元素(并不删除)
q.pop() 删除队首元素
q.push(x) 向队列中加入元素
q.empty() 判断队列是否为空
  • 优先队列priority_queue

  • priority_queue<int> q; // 队头最大
  • priority_queue<int,vector<int>,greater<int> > q; //队头最小
q.top() 获取优先队列中最大的元素(并不删除),其时间复杂度为O(1)
q.pop() 删除优先队列中最大元素,其时间复杂度为O(logn)
q.push(x) 向优先队列中加入元素,其时间复杂度为O(logn)
q.empty() 判断优先队列是否为空
发布了106 篇原创文章 · 获赞 113 · 访问量 14万+

猜你喜欢

转载自blog.csdn.net/qq_41598072/article/details/104561951