---恢复内容开始---
一.栈
1.栈:先进后出,后进先出,每次访问一个数据项,即最后一个添加的数据项(每次添加的数据放到最后)。数据入栈和出栈的时间复杂度O(1),栈不需要移动和比较数据。
2.代码
1 public class Stack { 2 private int maxsize; 3 private int[] arr; 4 private int top; 5 6 public Stack(int s){ 7 maxsize = s; 8 arr = new int[maxsize]; 9 top = -1; 10 } 11 12 public void push(int s){ 13 arr[++top] = s; 14 } 15 16 public int delete(){ 17 return arr[top--]; 18 } 19 20 public boolean isEmpty(){ 21 return top == -1; 22 } 23 24 public boolean isFull(){ 25 return top == maxsize-1; 26 } 27 28 public static void main(String[] args) { 29 Stack s = new Stack(10); 30 s.push(5); 31 s.push(10); 32 s.push(2); 33 s.push(4); 34 while(!s.isEmpty()){ 35 int a = s.delete(); 36 System.out.println(a); 37 } 38 } 39 40 }
二.队列
1.队列:先进先出,每次操作一个数据项,先进去的。数据放到最后,从最前面开始拿,所以需要两个标记,队头和队尾。
为了解决队列不满,又不能添加数据的问题,采用环绕式处理。
2.代码:
---恢复内容结束---
时间: 2024-10-18 03:02:22