队列:
队列的定义: java.util.Queue<Integer> Q = new java.util.LinkedList<Integer>();
//定义了一个存放数字队列
//或者
Queue<Integer> Q = new LinkedList<>();
队列的常用操作: Q.offer();//向队列中插入一个元素
Q.poll();//返回并删除队列头,或者队列为空时,返回null
Q.remove()//返回并删除队列头,或者队列为空时,抛出异常
Q.peek();//返回但不删除队列头,如果队列为空返回null
Q.element();;//返回但不删除队列头,或者队列为空时,返回null
实例:
import java.util.*;
import java.math.*;
import java.io.*;
public class Main {
public static void main(String[] argv) {
//java.util.Queue<Integer> Q = new java.util.LinkedList<Integer>();
Queue<Integer> Q = new LinkedList<>();
for(int i = 0; i < 5; i++)
Q.offer(i+1);
while(Q.size() > 0)
System.out.println(Q.remove());
}
}
栈:
栈的定义: Stack<Integer> st = new Stack<>();
栈的常用操作: st.empty();//如果栈为空,返回真
st.peek();//返回栈顶元素
st.pop();//返回并删除栈顶元素
st.push();//在栈顶加一个新元素
st.search(x)//返回栈中指定元素的位置
实例: import java.util.*;
import java.math.*;
import java.io.*;
public class Main {
public static void main(String[] argv) {
Stack<Integer> st = new Stack<>();
for(int i = 0; i < 5; i++)
st.push(i+1);
while(st.size() > 0) {
System.out.println(st.pop());
}
}
}