• ●二分法、二维数组


               //二分法查询
                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]);

      显示结果:

  • 相关阅读:
    linux系统分区表修复
    centos 系统下彻底删除mysql
    mysql数据类型
    mysq 数据库基本管理
    centos 网卡聚合及Cisco交换机链路聚合
    Dell 服务器安装方法介绍
    linux分区之gpt(大于2T的分区)
    windows server 2008 远程桌面连接数修改--无限连接
    C# WinForm控件美化扩展系列之ListBox
    C# 文件 文件夹
  • 原文地址:https://www.cnblogs.com/phantom-k/p/3934555.html
Copyright © 2020-2023  润新知