我使用C#语言,我有一个小问题List<Tuple<int,int>>.假设我创建了一个List<Tuple<int,int>>然后插入一些条目,如:(12,3),(154,43),(85,342)
现在我想List通过第一项搜索JUST,即只是item1通过二进制搜索来实现这一点.
这样的事情:
List<Tuple<int,int>> tt = new List<Tuple<int,int>>();
tt.Add(new Tuple<int,int>(12,32));
tt.sort();
tt.binarysearch(item1:12);
和一些像这样的输出:
12 32
现在有什么解决方案吗?
是的,BinarySearch需要IComparer,您可以创建自己的继承自定义比较器 IComparer<Tuple<int, int>>
因此:
public class BinarySearchComparer : IComparer<Tuple<int, int>>
{
    public int Compare(Tuple<int, int> f1, Tuple<int, int> f2)
    {
        return Comparer<int>.Default.Compare(f1.Item1, f2.Item1);
    }
}
和例子:
tt.Binarysearch(12, new BinarySearchComparer());
有关信息,请访问:http://msdn.microsoft.com/en-us/library/ftfdbfx6(v = vs.110).aspx
| 归档时间: | 
 | 
| 查看次数: | 831 次 | 
| 最近记录: |