• 顺序查找


    顺序查找是针对无序序列的一种最简单的查找方式。

    查找原理

    顺序查找的原理很简单,就是遍历整个列表,逐个进行记录的关键字与给定值比较,若某个记录的关键字和给定值相等,则查找成功,找到所查的记录。如果直到最后一个记录,其关键字和给定值比较都不等时,则表中没有所查的记录,查找失败。

    时间复杂度是O(n)。

    下面是顺序查找的算法实现代码。

    C#版:

    复制代码
    namespace SequenceSearch.CSharp
    {
        class Program
        {
            static void Main(string[] args)
            {
                List<int> list = new List<int> { 50, 10, 90, 30, 70, 40, 80, 60, 20 };
                
                Console.WriteLine("********************顺序查找********************
    ");
                Display(list);
                int result = SequenceSearch(list, 30);
                if (result != -1) Console.WriteLine("30在列表中的位置是:{0}", result);
                else Console.WriteLine("对不起,列表中不存在该元素!");
                
                Console.ReadKey();
            }
    
            /// <summary>
            /// 顺序查找
            /// </summary>
            /// <param name="list">待查列表</param>
            /// <param name="key">关键字</param>
            /// <returns>返回关键字在列表中的位置</returns>
            public static int SequenceSearch(List<int> list, int key)
            {
                //遍历查找列表
                for (int i = 0; i < list.Count; i++)
                {
                    //找到该记录,返回位置序号
                    if (list[i] == key) return i;
                }
                
                //没有找到
                return -1;
            }
    
            private static void Display(IList<int> list)
            {
                Console.WriteLine("
    **********展示结果**********
    ");
    
                if (list != null && list.Count > 0)
                {
                    foreach (var item in list)
                    {
                        Console.Write("{0} ", item);
                    }
                }
                Console.WriteLine("
    **********展示完毕**********
    ");
            }
        }
    }
    复制代码

    程序运行结果如图:

    ds32

  • 相关阅读:
    Flash请求不能传Cookie的PHP解决方案
    免费与不免费
    js编码之 encodeURIComponent
    锁定老帖子 主题:你应当了解的几个CSS3新技术
    清除浮动mini版
    iPad网页开发教程及规则
    手持设备meta设置
    使用 jQuery 在新窗口打开外部链接
    jQuery GET POST AJAX與php异步加载
    游戏英文词汇命名——备用
  • 原文地址:https://www.cnblogs.com/nxxshxf/p/5169085.html
Copyright © 2020-2023  润新知