//二分法查询
            Console.Write("请输入数据个数:");
            int n = Convert.ToInt32(Console.ReadLine());
            int[] no = new int[n];
            int x = 0, y = n - 1;    //x、y分别为每次把数组二分后的最小元素、最大元素的下标

                //为定义的数组赋值(该程序中数组默认按升序排列,否则需要为数组元素排序)
            for (int i = 0; i < n; i++)
            {
                Console.Write("输入数据{0}:", i + 1);
                no[i] = Convert.ToInt32(Console.ReadLine());
            }
            Console.Clear();    //清屏

            Console.Write("请输入要查询的数:");
            int sel = Convert.ToInt32(Console.ReadLine());

                //二分法
            while (y >= x)
            {
                int zj = (x + y) / 2;    //zj为x,y的中间值
                if (sel == no[zj])    //判断查询值是否是本组元素的中间元素
                {
                    Console.WriteLine("第{0}个元素!", zj + 1);
                    break;
                }
                else if (sel < no[zj])    //查询值小于中间元素,则中间元素前一位作为下组元素的最大元素
                {
                    y = zj - 1;
                }
                else if (sel > no[zj])    //查询值大于中间元素,则中间元素后一位作为下组元素的最小元素
                {
                    x = zj + 1;
                }
            }
            if (y < x)
            {
                Console.WriteLine("查无此数!");
            }

 

 

 

二维数组

  标准二维数组

    例:建一个3行4列的二维数组

      int [,]a=new int[3,4];

  伪二维数组:由一维数组组成

    例:int[][]a=new int[2][];

      int[]a1=new int[3];

      int[]a2=new int[4];

      a[0] = a1;

      a[1] = a2;

 

  .Length    统计数组元素个数

 

  ConsoleKeyInfo K = Console.ReadKey();    //读取按键信息

  string k = K.Key.ToString();    //把按键信息转成字符串。例:按“A”键,k值就为“A”

 

 

  .Split(‘’)    根据()内的字符拆分字符串,()内可以多个字符,()内字符必须用单引号

    string s = "hello world";

    string[] a = s.Split('w');    //根据“w”拆分字符串,并赋值给数组a

    Console.WriteLine(a[0]);

    Console.WriteLine(a[1]);

  显示结果:

 

posted on 2014-08-25 11:18  幻影K  阅读(166)  评论(0编辑  收藏  举报