C#练习题——LinkedList 的进阶应用与测试
一、任务:使用Linkedlist,向其中加入10个随机整形变量
(1)正向遍历一次打印出信息
(2)反向遍历一次打印出信息
二、代码解析与实现细节
using System;
using System.Collections.Generic;namespace 进阶测试
{class Program{static void Main(string[] args){LinkedList<int> list = new LinkedList<int>();int num;for (int i = 0; i < 10; i++){num = new Random().Next(1, 101);list.AddLast(num);}}}
}
使用 LinkedList<int>
创建动态链表结构,避免数组的固定大小限制。
通过 Random().Next(1, 101)
生成1到100的随机数,模拟实际数据场景。
三、链表遍历技术
//正向遍历
LinkedListNode<int> node = list.First;
while (node != null)
{Console.WriteLine(node.Value);node = node.Next;
}//反向遍历
node = list.Last;
while (node != null)
{Console.WriteLine(node.Value);node = node.Previous;
}
- 正向遍历通过
First
属性获取头节点,Next
指针逐步移动。 - 反向遍历利用
Last
属性定位尾节点,Previous
指针实现逆向访问。
四、完整代码
using System;
using System.Collections;
using System.Collections.Generic;
using System.Diagnostics;
using System.Threading.Tasks;
using System.Xml.Linq;namespace 进阶测试
{class Program{static void Main(string[] args){LinkedList<int> list = new LinkedList<int>();int num;for (int i = 0; i < 10; i++){num = new Random().Next(1, 101);list.AddLast(num);}Console.WriteLine("*****************");//正向打印LinkedListNode<int> node = list.First;while (node != null){Console.WriteLine(node.Value);node = node.Next;}Console.WriteLine("*****************");//反向打印node = list.Last;while (node != null){Console.WriteLine(node.Value);node = node.Previous;}}}
}