总结一下栈和队列的学习中我遇到的重点:
1.C++比较容易实现栈和队列的操作,像是开挂一样,而徒手用C写的话太繁琐了。
2.栈和队列有区别,前者是后进先出,后者是先进后出
3.总结了一下C++中栈的基本操作:
入栈,s.push(x)出栈,s.pop()访问栈顶,s.top()判断栈空,s.empty()访问栈中的元素个数,s.size()
4.总结了一下C++中队列的基本操作:
入队,q.push(x)出队,q.pop()访问队首元素,q.front()、访问队尾元素,q.back()判断队列空,q.empty()访问队列中的元素个数,q.size()
5.优先队列:
priority_queue,greater > q;//从大到小的队列priority_queue ,less > q;//从小到大的队列
熟练运用优先队列可以完成一些比较骚的操作:比如,拿它写快排???嘻嘻嘻我就干过这事,还AC了呢!
这个到后续的哈夫曼树中也要用到,总之要记住并学会。
总体来说:栈和队列还是比较实用的,在以后的许多算法中都会用到栈和队列,所以务必要学好。