Jac*_*cek 11 .net c# list data-structures
我声明了以下对象
List<string> list = {"Kate", "John", "Paul", "Eve", "Hugo"};
Run Code Online (Sandbox Code Playgroud)
我想在我的名单前面移动"夏娃"?我怎样才能做到这一点.我不能重新排序其他元素!
在输出我想得到这个
"Eve", "Kate", "John", "Paul", "Hugo"
Run Code Online (Sandbox Code Playgroud)
Céd*_*non 17
list.Remove("Eve"); // Removes the first "Eve" element in the list
list.Insert(0, "Eve"); // Inserts "Eve" at the first position in the list
Run Code Online (Sandbox Code Playgroud)
但是,如果你的列表中包含多个"夏娃" S,要求删除("夏娃")将仅删除"夏娃"的第一次出现.
而且你必须知道在列表的开头插入元素是一项昂贵的操作.因为列表中已有的所有元素都必须移位.
正如@AlvinWong评论的那样,LinkedList<string>在插入元素时避免这种开销是一个非常好的解决方案.该Insert操作是在O(1)(在O(NI)来完成List).主要缺点LinkedList<string>是访问第ith个元素是O(i)中的操作(a中的O(1)List).
| 归档时间: |
|
| 查看次数: |
25343 次 |
| 最近记录: |