小编Ped*_*dro的帖子

在C#堆栈中是否有随机访问?

我有点学习数据结构,所以请原谅新手问题.问题是,我在C#中使用Stack类,我想随机访问元素.我知道我可以使用ElementAt随机访问:

Stack<int> mystack = new Stack<int>(4);
...//assume the stack is filled here
int value = mystack.ElementAt(2) // if I wanted element 2
Run Code Online (Sandbox Code Playgroud)

但我只能得到价值,我无法修改它.我的意思是,在List中,我可以将随机元素修改为:

List<int> mylist = new List<int>(4);
mylist[2] = 35;
Run Code Online (Sandbox Code Playgroud)

我想对Stack做同样的事情,但它没有索引器.也许这是不可能的,如果是这样,我也想知道原因.我知道当需要随机访问时,通常不会使用堆栈,但在解决问题时我仍然需要它.我最终找到了一个更好的方法,但我仍然想知道.最后,关于ElementAt(),它是O(1)还是O(N)??

c# stack random-access

3
推荐指数
1
解决办法
1193
查看次数

标签 统计

c# ×1

random-access ×1

stack ×1