Welcome

首页 / 软件开发 / 数据结构与算法 / 算法速成(四)五大经典查找之线性查找

算法速成(四)五大经典查找之线性查找2014-04-28 csdn博客 特种兵—AK47在我们的生活中,无处不存在着查找,比如找一下班里哪个mm最pl,猜一猜mm的芳龄....... 对的 这些都是查找。

在我们的算法中,有一种叫做线性查找。

分为:顺序查找。

折 半查找。

查找有两种形态:

分为:破坏性查找,   比如有一群mm,我猜她们的 年龄,第一位猜到了是23+,此时这位mm已经从我脑海里面的mmlist中remove掉了。

哥不找23+ 的,所以此种查找破坏了原来的结构。

非破坏性查找, 这种就反之了,不破坏结构。

顺序查找:

这种非常简单,就是过一下数组,一个一个的比,找到为止。

using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace Sequential{class Program{static void Main(string[] args){List<int> list = new List<int>() { 2, 3, 5, 8, 7 };var result = SequenceSearch(list, 3);if (result != -1)Console.WriteLine("3 已经在数组中找到,索引位置为:" + result);elseConsole.WriteLine("呜呜,没有找到!");Console.Read();}//顺序查找static int SequenceSearch(List<int> list, int key){for (int i = 0; i < list.Count; i++){//查找成功,返回序列号if (key == list[i])return i;}//未能查找,返回-1return -1;}}}