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

更多推荐