码迷,mamicode.com
首页 > 其他好文 > 详细

栈,队列,优先级队列

时间:2017-09-13 15:10:43      阅读:174      评论:0      收藏:0      [点我收藏+]

标签:ati   static   sys   优先级   复杂   logs   队列   public   oid   

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

一.栈

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

 

 

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

栈,队列,优先级队列

标签:ati   static   sys   优先级   复杂   logs   队列   public   oid   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!