c# 二维list排序和计时

本文探讨了如何在C#中对二维List进行排序,并通过实例介绍了具体的排序方法,同时进行了性能计时,以理解不同排序策略的时间复杂度。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

 

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Diagnostics;
 4 using System.Linq;
 5 using System.Text;
 6 using System.Threading;
 7 
 8 
 9 namespace ConsoleApplication1
10 {
11     class Program
12     {
13         static void Main(string[] args)
14         {
15             //定义一个二维list,用来代替二维数组,这样每行的个数就可以变了
16             List<List<int>> array = new List<List<int>>();
17             //定义一个一维list,作为上面二维list的某个元素
18             List<int> item = new List<int>(new int[] { 3, 4, 5, 6 });
19             //将上面的一维list作为一个元素放入二维list中
20             array.Add(item);
21             //给一维list赋新值
22             item = new List<int>(new int[] { 30, 40, 50, 60 });
23             //将上面的一维list作为一个元素放入二维list中
24             array.Add(item);
25             //给一维list赋新值
26             item = new List<int>(new int[] { 20, 40, 50, 30 });
27             //将上面的一维list作为一个元素放入二维list中
28             array.Add(item);
29 
30 
31             //下面    取出二维list的某个元素
32             int m = array[1][2];//此时的m即为50
33             //下面    给二维list某位置赋值
34             array[1][2] = 60;
35             //验证某位置的值是否改变
36             m = array[1][2];
37             //将二维list的第0行所有元素给某个一维list
38             item = array[0];
39 
40 
41 
42             ////下面对二维list排序,且都是按最后一个元素排序,因为最后一个我作为遗传算法的fit值
43             //list排序方法一
44             //array.Sort( delegate(List<int> p1,List<int> p2)
45             //    {
46             //        return p1[3].CompareTo(p2[3]);//按最后一个元素升序
47             //    }
48             //    );//升序或则用下面的排序http://blog.youkuaiyun.com/jimo_lonely/article/details/51711821
49             //list排序方法二
50             array.Sort((List<int> x, List<int> y) => { return x[3].CompareTo(y[3]); });
51             //list排序方法三
52             List<List<int>> array1 = array.OrderBy(o => o[0]).ToList();//升序
53 
54             //计时
55             Stopwatch sw = new Stopwatch();
56             sw.Start()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值