能不能不新建list,直接在原list的基础上操作
时间: 2023-08-15 11:03:16 浏览: 22
同样可以不新建 List,直接在原 List 的基础上进行操作。代码如下:
```csharp
List<List<int>> list = new List<List<int>>();
list.Add(new List<int> { 1, 2 });
list.Add(new List<int> { 3, 4 });
list.Add(new List<int> { 5, 6 });
for (int i = 0; i < list.Count; i++)
{
for (int j = i + 1; j < list.Count; j++)
{
if (list[i].Count > j)
{
int temp = list[i][j];
list[i][j] = list[j][i];
if (list[j].Count > i)
{
list[j][i] = temp;
}
else
{
list[j].Add(temp);
}
}
else
{
if (list[j].Count > i)
{
int temp = list[j][i];
list[j][i] = list[i][j];
list[i].Add(temp);
}
else
{
list[i].Add(list[j][i]);
list[j].Add(list[i][j]);
}
}
}
}
```
以上代码将原始的 List 直接进行了转置操作,并没有新建一个 List。这样可以减少内存的使用,提高程序的效率。需要注意的是,由于行列数不相等,可能会出现新加入的元素。因此,在进行元素交换时,需要判断是否需要新加入元素。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)