队列(C#数据结构学习三)
1
using System;
2
using System.Collections.Generic;
3
using System.Text;
4
5
namespace soloDataStruct
6
{
7
public class Myqueue<T>
8
{
9
private int maxSize;
10
private T[] queArray;
11
private int front;
12
private int rear;
13
private int nitem;
14
public T[] getAarry()
15
{
16
return queArray;
17
}
18
public Myqueue(int size)
19
{
20
maxSize = size;
21
queArray=new T[maxSize];
22
front = 0;
23
rear = -1;
24
nitem = 0;
25
}
26
public void Enquene(T data)
27
{
28
//入队
29
if (rear == maxSize - 1)
30
rear = -1;
31
queArray[++rear]=data;
32
nitem++;
33
}
34
public T Dequeue()
35
{
36
//出队
37
T temp=queArray[front++];
38
if (front == maxSize)
39
front = 0;
40
nitem--;
41
return temp;
42
}
43
public T getFront()
44
{
45
return queArray[front];
46
}
47
public int size()
48
{
49
return nitem;
50
}
51
}
52
class Program
53
{
54
static void Main(string[] args)
55
{
56
Myqueue<int> myqueue=new Myqueue<int>(5);
57
Console.WriteLine("input 5 element:1.2.3.4.5");
58
myqueue.Enquene(1);
59
myqueue.Enquene(2);
60
myqueue.Enquene(3);
61
myqueue.Enquene(4);
62
myqueue.Enquene(5);
63
Console.Write("Dequeue the front data:");
64
Console.WriteLine(myqueue.Dequeue());
65
Console.WriteLine("each element in queue!");
66
for (int i = 0; i < myqueue.size(); i++)
67
{
68
Console.WriteLine((myqueue.getAarry())[i]);
69
70
}
71
Console.ReadLine();
72
}
73
}
74
}
75

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
