首页 > 学院 > 开发设计 > 正文

查找与排序01,线性查找,时间复杂度,算法

2019-11-17 03:00:48
字体:
来源:转载
供稿:网友

查找与排序01,线性查找,时间复杂度,算法

线性查找,肯定是以线性的方式,在集合或数组中查找某个元素。本篇包括:

  • 通过代码来理解线性查找
  • 时间复杂度
  • 什么是算法

通过代码来理解线性查找

什么叫"线性"?还是在代码中体会吧。

首先需要一个集合或数组,如何得到呢?就生成一个固定长度的随机数组吧。然后输入一个查找key,如果找到就返回元素的索引,没找到就返回-1,就这么简单。

    class PRogram
    {
        private static int[] arr;
        private static Random r = new Random();
        static void Main(string[] args)
        {
            SeedData(10);
            ShowArray();
            Console.WriteLine("/n");
            Console.WriteLine("请输入要查找的整型数");
            var temp = Convert.ToInt32(Console.ReadLine());
            Console.WriteLine("您要查找的{0}所在的位置是{1}", temp, LinearSearch(temp));
            Console.ReadKey();
        }
        //线性查找
        private static int LinearSearch(int key)
        {
            for (int i = 0; i < arr.Length; i++)
            {
                if (arr[i] == key) return i; //找到就返回索引
            }
            return -1;//如果没找到就返回-1
        }
        //数组的种子数据
        private static void SeedData(int size)
        {
            arr = new int[size];
            for (int i = 0; i < size; i++)
            {
                arr[i] = r.Next(1, 100);
            }
        }
        //打印数组的所有元素
        private static void ShowArray()
        {
            foreach (var item in arr)
            {
                Console.Write(item + " ");
            }
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表