本文实例讲述了Java数据结构之有效队列定义与用法。分享给大家供大家参考,具体如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
|
/** * @描述 有序对列 * 从任何位置插入数据都是有序的 * @项目名称 Java_DataStruct * @包名 com.java.stack * @类名 Queue * @author chenlin */ public class SequeQueue { private long [] arr; private int maxSize; // 最大空间 private int len; // 有效长度 public SequeQueue( int size) { this .maxSize = size; this .arr = new long [maxSize]; this .len = 0 ; } /** *插入数据 * * @param value */ public void insert( long value) { int i; for (i = 0 ; i < len; i++) { //得到i if (value > arr[i]) { break ; } } //移动数据,把前面的数据往后移动一位 for ( int j = len; j > i; j--) { arr[j] = arr[j - 1 ]; } arr[i] = value; len ++; } /** * 移除数据,每次移除最后一位,长度-- * 数组从0到len - 1; */ public long remove() { long value = arr[len - 1 ]; len --; return value; } /** * 判断是否为空 * * @return */ public boolean isEmpty() { return (len == 0 ); } /** * 判断是否满了 * * @return */ public boolean isFull() { return (len == maxSize); } /** * 获得队列的有效长度 * * @return */ public int size() { return len; } public static void main(String[] args) { SequeQueue queue = new SequeQueue( 8 ); queue.insert( 22 ); queue.insert( 33 ); queue.insert( 44 ); queue.insert( 534 ); queue.insert( 21 ); queue.insert( 55 ); System.out.println( "服务器之家测试结果:" ); while (!queue.isEmpty()) { System.out.println(queue.remove()); } } } |
运行结果:
希望本文所述对大家java程序设计有所帮助。
原文链接:http://blog.csdn.net/lovoo/article/details/51660410