1 队列
队列是一种特殊的线性表,它只允许在表的前端进行删除操作,而在表的后端进行插入操作。
1.1 java
//LinkedList类实现了Queue接口,因此我们可以把LinkedList当成Queue来用。
Queue<String> queue = new LinkedList<String>();
//添加元素到对列
queue.offer("a");
//出队
queue.poll()
//获取第一个元素
queue.peek();
//是否为空
queue.isEmpty();
//获取队列元素个数
queue.size()
1.2 C++
声明:queue<int> q;
queue入队,如例:q.push(x);将x 接到队列的末端。
queue出队,如例:q.pop();弹出队列的第一个元素,注意,并不会返回被弹出元素的值。
访问queue队首元素,如例:q.front(),即最早被压入队列的元素。
访问queue队尾元素,如例:q.back(),即最后被压入队列的元素。
判断queue队列空,如例:q.empty(),当队列空时,返回true。
访问队列中的元素个数,如例:q.size()
1.3 Python
#python2中包名大写Queue,
from Queue import Queue,LifoQueue,PriorityQueue
#python3中小写 queue
from queue import Queue,LifoQueue,PriorityQueue
#先进先出队列
q=Queue(maxsize=5)
q.put(1)#入队
q.get()#出队
q.empty()#判断是否为空
q.qsize()#队列元素个数
#后进先出队列
lq=LifoQueue(maxsize=6)
#优先级队列
pq=PriorityQueue(maxsize=5)
2 栈
2.1 java
1 | boolean empty() 测试堆栈是否为空。 |
2 | Object peek( ) 查看堆栈顶部的对象,但不从堆栈中移除它。 |
3 | Object pop( ) 移除堆栈顶部的对象,并作为此函数的值返回该对象。 |
4 | Object push(Object element) 把项压入堆栈顶部。 |
5 | int search(Object element) 返回对象在堆栈中的位置,以 1 为基数。 |
2.2 C++
-
s.empty(); //如果栈为空则返回true, 否则返回false;
-
s.size(); //返回栈中元素的个数
-
s.top(); //返回栈顶元素, 但不删除该元素
-
s.pop(); //弹出栈顶元素, 但不返回其值
-
s.push(); //将元素压入栈顶
2.3 Python
使用list可以实现栈的功能
声明:stack = []
入栈:stack.append(a)
出栈:a = stack.pop()
取栈顶元素:top = stack[-1]