1 队列
队列是一种特殊的线性表,它只允许在表的前端进行删除操作,而在表的后端进行插入操作。
1.1 java
LinkedList类实现了Queue接口,因此我们可以把LinkedList当成Queue来用。
Queue<String> queue = new LinkedList<String>();
//添加元素到对列
queue.offer("a");
//出队
queue.poll()
//获取第一个元素
queue.peek();
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()
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(); //将元素压入栈顶