国内中文版的已经有段先生写了,是06年出版《数据结构(C#),有需要的朋友可以自己找找。 想当年,初学c#时,用数据结构熟悉,这里给个写的例子: using System; using System.Collections.Generic; using System.Text; using System.Threading; namespace chapter2ReviewOfArrays.Classes { /// <summary> /// 顺序搜索 /// </summary> class Arrays { private static int SIZE = 16; private static int START = 40; private static int RANGE = 20; private static int[] a = new int[SIZE]; /// <summary> /// 顺序搜索 /// </summary> /// <param name="items">数组</param> /// <param name="x">搜索值</param> /// <returns>如果包含x返回x所在的索引i,否则返回-1</returns> public static int sequentialSearch(int[] items, int x) { for (int i = 0; i <= items.Length-1; i++) { if (items[i].Equals(x)) { return i; } } return -1; } /// <summary> /// 测试方法 /// </summary> public static void testP30() { load(a, START, RANGE); print(a); test(); //解决同一时间取随机数相同的问题 Thread.Sleep(1); test(); Thread.Sleep(1); test(); Thread.Sleep(1); test(); Thread.Sleep(1); test(); } /// <summary> /// 执行一次测试操作 /// </summary> public static void test() { int x = load(START, RANGE); Console.Write("搜索x={0}:/t",x); int i = sequentialSearch(a, x); if (i >= 0) Console.WriteLine("a[{0}]={1}", i, a[i].ToString()); else Console.WriteLine("i={0}==>{1} 未找到",i,x); } /// <summary> /// 在指定范围内生成整形随机数 /// </summary> /// <param name="START"></param> /// <param name="RANGE"></param> /// <returns></returns> private static int load(int START, int RANGE) { return new Random().Next(START, START+RANGE); } /// <summary> /// 生成整形随机数组 /// </summary> /// <param name="items">数组</param> /// <param name="start">起始值</param> /// <param name="range">基于起始值的范围</param> public static void load(int[] items, int start, int range) { Random random = new Random(); for (int i = 0; i < SIZE - 1; i++) { items[i] = random.Next(start, start+range); } } /// <summary> /// 输出数组所有元素 /// </summary> /// <param name="items"></param> public static void print(int[] items) { Console.Write("{"); for (int i = 0; i < items.Length - 1; i++) { Console.Write("{0},", items[i].ToString()); } Console.WriteLine("}"); } } }