首页 > Linux操作系统 > Linux操作系统 > C#集合----链表
LinkedList
链表的优点是,如果将元素插入列表的中间位置,使用链表会非常快。在插入一个元素时,只需修改上一个元素的Next引用和下一个元素的Previous引用,使它们引用所插入的元素。在List
当然,链表也有缺点。链表的元素只能一个接一个地访问,这需要较长的时间来查找位于链表中间或尾部的元素。
链表不仅能在列表中存储元素,还可以给每个元素存储下一个元素和上一个元素的信息。这就是
LinkedList
Code
1链表测试#region 链表测试
2/**////
3/// 链表测试
4///
5public class TestLinkedList
6{
7 public void TestLinkList()
8 {
9 LinkedList
10 Book book1 = new Book { Title = "C#高级编程", Book_Author = new Author { Name = "黄老邪", Address = "桃花岛" }, Price = 128f };
11 Book book2 = new Book { Title = "Think in Java", Book_Author = new Author { Name = "欧阳峰", Address = "白驼山" }, Price = 138f };
12 Book book3 = new Book { Title = "silverlight", Book_Author = new Author { Name = "一灯大师", Address = "大理" }, Price = 123f };
13 Book book4 = new Book { Title = "JavaFx", Book_Author = new Author { Name = "洪七公", Address = "临安" }, Price = 125f };
14 Book book5 = new Book { Title = "WPF", Book_Author = new Author { Name = "王重阳", Address = "临安" }, Price = 158f };
15
16 /**////将book1添加到链表第一个元素
17 bookList.AddFirst(book1);
18 /**////将book2添加到链表第一个元素,这时原来的第一个元素会自动退后一位
19 bookList.AddFirst(book2);
20
21 /**////实例化一个LinkedListNode 对象
22 LinkedListNode
23
24 /**////将LinkedListNode 对象添加到链表最后
25 bookList.AddLast(node);
26
27 /**////在最后一个元素后追加一个元素
28 bookList.AddAfter(node, book4);
29
30 /**////在LinkedListNode 对象前插入一个元素
31 bookList.AddBefore(node, book5);
32
33 foreach (var item in bookList)
34 {
35 Console.WriteLine(item.Title);
36 }
37
38
39 /**////顺序显示
40 ///
41 Console.WriteLine("\n\n顺序显示链表内的元素");
42 LinkedListNode
43 while (firstNode != null)
44 {
45 Console.WriteLine(firstNode.Value.Title);
46 firstNode = firstNode.Next;
47
48 }
49
50 /**////逆序显示
51 Console.WriteLine("\n\n逆序显示链表内的元素");
52 LinkedListNode
53 while (lastNode != null)
54 {
55 Console.WriteLine(lastNode.Value.Title);
56 lastNode = lastNode.Previous;
57 }
58
59
60 Console.WriteLine("\n\n排序后的结果");
61
62 var rderList = bookList.OrderBy(book => book.Price);
63
64 foreach (var item in orderList)
65 {
66 Console.WriteLine(string.Format("图书名称{0},价格{1}", item.Title, item.Price));
67 }
68
69
70 }
71
72}
73
74#endregion
75
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/12639172/viewspace-594316/ ,如需转载,请注明出处,否则将追究法律责任。