首页 > 其他 > 详细

栈,队列,优先级队列

时间:2017-09-13 14:31:44      阅读:279      评论:0      收藏:0      [点我收藏+]

---恢复内容开始---

一.栈

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.代码:

 

 

---恢复内容结束---

栈,队列,优先级队列

原文:http://www.cnblogs.com/xwzp/p/7514555.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!