一、任务:使用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;
}
}
}
}
1768

被折叠的 条评论
为什么被折叠?



