在采访问题中,我看到了这个。如何反转此列表的内容而不会丢失引用。反向列表不失遗失
List<string> list = new List<string>() {"AA", "BB", "CC" };
更新:
的问题是更喜欢这个,你有:
public void ReversedList<T>(IList<T> listToReverse)
{
// To be implemented
}
样品列表中有1,2,3,4和必须返回4,3,2, 1没有失去参考。
在采访问题中,我看到了这个。如何反转此列表的内容而不会丢失引用。反向列表不失遗失
List<string> list = new List<string>() {"AA", "BB", "CC" };
更新:
的问题是更喜欢这个,你有:
public void ReversedList<T>(IList<T> listToReverse)
{
// To be implemented
}
样品列表中有1,2,3,4和必须返回4,3,2, 1没有失去参考。
你的意思是反向,即改变顺序为“CC”,“BB”,“AA”?只需拨打List<T>.Reverse()
:
list.Reverse();
如果这不是你的意思,请编辑你的问题更具体。 (这并不是很清楚你的意思是“没有任何参考文献”。)
除非我遗漏了一些东西,否则list.Reverse()
会做你想做的事情(反转元素到位而不是用相同的方法创建一个新列表项目以相反的顺序)。
如果有人在采访中问我这个问题,我会问这是否是一些诡计问题。这是在采访中没有地位的微不足道的东西,它更适合筛选过程。 – leppie 2010-10-27 06:39:47
你可以做旧的交换算法 - 替换第一个与最后一个,第二个与前一个等... – 2010-10-27 07:28:35
你确定关于std :: List还是更像C链表结构? – 2010-11-01 14:30:24