C标准库中的反向算法相当于
template <class BidirectionalIterator> void reverse (BidirectionalIterator first,BidirectionalIterator last) { while ((first!=last)&&(first!=--last)) { std::iter_swap (first,last); ++first; } }
根据http://www.cplusplus.com/reference/algorithm/reverse/.我想在C#中写出等价物:
public void Reverse<T> ( T first,T last ) { // ... }
首先,如何传递两个对IEnumerators的引用,第二个是可以向后传播的引用?有没有一种自然的方法可以做到这一点,还是需要先扩展IEnumerable< T>?
其次,如果上一个问题的答案是否定的,那么是否有一个Skeet认证的C#反向写入方式在通用性和效率方面等于C语言?如果是这样,它是什么?
解决方法
列表< T> interface提供了一个Reverse()方法,它与C equivapent一样.
看看https://msdn.microsoft.com/en-us/library/b0axc2h2(v=vs.110).aspx
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。