C#数据结构(用链表实现的堆)
1 using System;
2 class Link
3 {
4 public int data;
5 public Link next;
6 public Link(int data)
7 {
8 this.data=data;
9 }
10 }
11 class LinkList//链表类
12 {
13 public Link head;
14 public LinkList()
15 {
16 this.head=null;
17 }
18 public void InsertHeadLink(int data)
19 {
20 Link newLink = new Link(data);
21 newLink.next=head;
22 head=newLink;
23 }
24 public void DelHeadLink()
25 {
26 head=head.next;
27 }
28 public void Display()
29 {
30 Link current = head;
31 while(current!=null)
32 {
33 Console.WriteLine(current.data);
34 current = current.next;
35 }
36 }
37 }
38 class Stack
39 {
40 private LinkList linklist;
41 public Stack()
42 {
43 linklist = new LinkList();
44 }
45 public void Push(int data)
46 {
47 linklist.InsertHeadLink(data);
48 }
49 public void Pop()
50 {
51 linklist.DelHeadLink();
52 }
53 public void Display()
54 {
55 linklist.Display();
56 }
57 }
58 class StackApp
59 {
60 public static void Main()
61 {
62 Stack stack = new Stack();
63 stack.Push(5);
64 stack.Push(6);
65 stack.Pop();
66 stack.Display();
67 Console.ReadKey();
68 }
69 }
2 class Link
3 {
4 public int data;
5 public Link next;
6 public Link(int data)
7 {
8 this.data=data;
9 }
10 }
11 class LinkList//链表类
12 {
13 public Link head;
14 public LinkList()
15 {
16 this.head=null;
17 }
18 public void InsertHeadLink(int data)
19 {
20 Link newLink = new Link(data);
21 newLink.next=head;
22 head=newLink;
23 }
24 public void DelHeadLink()
25 {
26 head=head.next;
27 }
28 public void Display()
29 {
30 Link current = head;
31 while(current!=null)
32 {
33 Console.WriteLine(current.data);
34 current = current.next;
35 }
36 }
37 }
38 class Stack
39 {
40 private LinkList linklist;
41 public Stack()
42 {
43 linklist = new LinkList();
44 }
45 public void Push(int data)
46 {
47 linklist.InsertHeadLink(data);
48 }
49 public void Pop()
50 {
51 linklist.DelHeadLink();
52 }
53 public void Display()
54 {
55 linklist.Display();
56 }
57 }
58 class StackApp
59 {
60 public static void Main()
61 {
62 Stack stack = new Stack();
63 stack.Push(5);
64 stack.Push(6);
65 stack.Pop();
66 stack.Display();
67 Console.ReadKey();
68 }
69 }

浙公网安备 33010602011771号