关于Array.BinarySearch和Array.Sort
来源:互联网 发布:结算软件编码 编辑:程序博客网 时间:2024/06/11 08:07
(1)Array.BinarySearch(...)是否先对数组排序再搜索?
答案:否
代码:
using System;
namespace arraysort
{
class Item : IComparable
{
public int x;
public int y;
#region IComparable 成员
public Item(int x, int y)
{
this.x = x;
this.y = y;
}
public int CompareTo(object obj)
{
if ( obj is int )
return x.CompareTo( (int)obj);
throw new ArgumentException(" object is not a int!") ;
}
#endregion
}
class Class1
{
[STAThread]
static void Main(string[] args)
{
Item []myArray = new Item[5];
myArray[0] = new Item( 5, 20);
myArray[1] = new Item( 9, 6 );
myArray[2] = new Item(3, 6);
myArray[3] = new Item( 28, 2);
myArray[4] = new Item(4, 12);
int find = Array.BinarySearch( myArray, 3);
for (int i = 0; i< 5; i++)
{
System.Console.WriteLine("[ {0},{1} ]",((Item)myArray[i]).x ,((Item)myArray[i]).y );
}
if (i>=0)
System.Console.WriteLine("[ {0},{1} ]",((Item)myArray[find]).x ,((Item)myArray[find]).y );
}
}
}
output:
[ 5,20 ]
[ 9,6 ]
[ 3,6 ]
[ 28,2 ]
[ 4,12 ]
[ 3,6 ]
(2):实现Array.Sort, CompareTo()的实现和上面不同:
using System;
namespace arraysort
{
class Item : IComparable
{
public int x;
public int y;
#region IComparable 成员
public Item(int x, int y)
{
this.x = x;
this.y = y;
}
public int CompareTo(object obj)//参数是数组里面的元素
{
if ( obj is Item )
return x.CompareTo( ((Item)obj).x);
throw new ArgumentException(" object is not a int!") ;
}
#endregion
}
class Class1
{
[STAThread]
static void Main(string[] args)
{
Item []myArray = new Item[5];
myArray[0] = new Item( 5, 20);
myArray[1] = new Item( 9, 6 );
myArray[2] = new Item(3, 6);
myArray[3] = new Item( 28, 2);
myArray[4] = new Item(4, 12);
Array.Sort(myArray);
for (int i = 0; i< 5; i++)
{
System.Console.WriteLine("[ {0},{1} ]",((Item)myArray[i]).x ,((Item)myArray[i]).y );
}
}
}
}
output:
[ 3,6 ]
[ 4,12 ]
[ 5,20 ]
[ 9,6 ]
[ 28,2 ]
- 关于Array.BinarySearch和Array.Sort
- array的sort和binarySearch方法
- Enmu BinarySearch Array
- js中关于array的slice和sort方法
- Array#sort
- Array Sort
- array.sort()
- Array.sort()
- Array.Sort
- 关于Array 和 ArrayCollection
- js中关于array的slice和sort方法(转自JavaEye)
- Array.Sort方法
- java.util.array.sort
- asp Array sort
- Array.sort自定义方法
- PowerShell Sort Array
- Sort array of strings
- Array。sort()
- IIS操作类
- 端午佳节,我没有思念......
- 我的第一个blog
- 如何配置Tomcat以支持SSL
- 先测试一下............
- 关于Array.BinarySearch和Array.Sort
- 序列化FastReport
- Test
- 环境造人
- C#应用小记
- 生命的价值不要让昨日的沮丧令明天的梦想黯然失色
- 如何开发高性能的 ASP.NET 应用程序
- 使 ASP.NET Web 站点变得可访问
- 永远的坐票生活真是有趣:如果你只接受最好的,你经常会得到最好的