Java中的查找算法之顺序查找(Sequential Search)

Java中的查找算法之顺序查找(Sequential Search)

a) 原理:顺序查找就是按顺序从头到尾依次往下查找,找到数据,则提前结束查找,找不到便一直查找下去,直到数据最后一位。

b) 图例说明: 原始数据:int[] a={4,6,2,8,1,9,0,3}; 要查找数字:8

找到数组中存在数据8,返回位置。

代码演示:

import java.util.Scanner;

/*

 * 顺序查找

 */

public class SequelSearch {

public static void main(String[] arg) {  

    int[] a={4,6,2,8,1,9,0,3};

    Scanner input=new Scanner(System.in);

    System.out.println("请输入你要查找的数:");

    //存放控制台输入的语句

  int num=input.nextInt();
  //调用searc()方法,将返回值保存在result中

    int result=search(a, num);

    if(result==-1){

       System.out.println("你输入的数不存在与数组中。");

    }

    else

       System.out.println("你输入的数字存在,在数组中的位置是第:"+(result+1)+"个");

}
//顺序排序算法
public static int search(int[] a, int num) {        

    for(int i = 0; i < a.length; i++) {

        if(a[i] == num){//如果数据存在

            return i;//返回数据所在的下标,也就是位置

        }

    } 

    return -1;//不存在的话返回-1

}

}

运行截图:

时间: 2024-07-30 11:35:40

Java中的查找算法之顺序查找(Sequential Search)的相关文章

Java查找算法(二): 顺序查找

[ 什么是顺序查找 ]  顺序查找又叫线性查找,是最基本的查找技术,它的查找过程是:从表中第一个或最后一个记录开始,逐个和给定的值比较,如相等则查找成功:如直到最后一个值仍不等时,则表中没有所查的记录,查找不成功. [ Java实现顺序查找 ]  public class SequentialSearch { public static void main(String[] args) { Integer target = 6; Integer[] iArr = { 3, 2, 6, 8, 5,

2. C#数据结构与算法 -- 查找算法(顺序查找,哈希查找,二分查找(折半),索引,二叉)

1. 顺序查找算法 ===================================================== 算法思想简单描述: 最突出的查找类型就是从记录集的开始处顺次遍历每条记录,直到找到所要的记录或者是 到达数据集的末尾.这就是所谓的顺序查找.顺序查找(也被称为线性查找)是非常容易实现 的.从数组的起始处开始,把每个访问到的数组元素依次和所要查找的数值进行比较.如果找 到匹配的数据项,就结束查找操作.如果遍历到数组的末尾仍没有产生匹配,那么就说明此数 值不在数组内. ==

【Java_Base】常用查找算法:顺序查找、二分查找

顺序查找 从第一个元素开始顺序比较查找. 二分查找 二分查找前提条件: 已排序的数组中查找 二分查找的基本思想是: 首先确定该查找区间的中间点位置: int mid = (low+upper) / 2; 然后将待查找的值与中间点位置的值比较: 若相等,则查找成功并返回此位置. 若中间点位置值大于待查值,则新的查找区间是中间点位置的左边区域. 若中间点位置值小于待查值,则新的查找区间是中间点位置的右边区域. 下一次查找是针对新的查找区间进行的. 1 public class Search{ 2 p

算法:顺序查找与折半查找

资料摘自:<数据结构c++语言描述> typedef int DataType; //顺序查找算法 //用顺序查找在n元数组list中查找与key等值的元素,返回该数组元素的下标 //若未找到,则返回-1 int SeqSearch(DataType List[], int n, DataType key) { for(int i = 0; i < n; i++) { if(List[i] == key) { return i; } } return -1; } /* *顺序查找的复杂度

查找算法:二分查找、顺序查找

08年9月入学,12年7月毕业,结束了我在软件学院愉快丰富的大学生活.此系列是对四年专业课程学习的回顾,索引参见:http://blog.csdn.net/xiaowei_cqu/article/details/7747205 查找算法 查找算法是在存在的序列(list) 中查找特定的目标(target),要求序列中每个记录必须与一个关键词(key)关联才能进行查找. 查找算法通常需要两个输入: 1.被查找的序列 2.要查找的关键词 查找算法的输出参数和返回值: 1.返回类型为 Error_co

【数据结构与算法】顺序查找

基本思想 顺序查找是最简单的查找方法,从线性表的一端开始,依次将每个记录的关键字与给定值进行比较. 代码实现 /** * 源码名称:SeqSearch.java * 日期:2014-08-13 * 程序功能:顺序查找 * 版权:[email protected] * 作者:A2BGeek */ public class SeqSearch { public static int seqSearch(int[] in, int key) { int length = in.length; int

静态查找表:顺序查找、折半查找、分块查找

引言: 除去各种线性和非线性的数据结构外.另一种在实际应用中大量使用的数据结构--查找表.查找表是由同一类型的数据元素构成的集合. 对查找表常常进行的操作有:1.查找某个"特定的"数据元素是否在查找表中:2.检索某个"特定的"数据元素的各种属性:3.在查找表中插入一个数据元素:4.从查找表中删去某个数据元素.对查找表仅仅作前两种统称为"查找"的操作,则称此类查找表为静态查找表. 若在查找过程中同一时候插入查找表中不存在的数据元素,或者从查找表中删

数据结构(九) 查找表的顺序查找、折半查找、插值查找以及Fibonacci查找

今天这篇博客就聊聊几种常见的查找算法,当然本篇博客只是涉及了部分查找算法,接下来的几篇博客中都将会介绍关于查找的相关内容.本篇博客主要介绍查找表的顺序查找.折半查找.插值查找以及Fibonacci查找.本篇博客会给出相应查找算法的示意图以及相关代码,并且给出相应的测试用例.当然本篇博客依然会使用面向对象语言Swift来实现相应的Demo,并且会在github上进行相关Demo的分享. 查找在生活中是比较常见的,本篇博客所涉及的这几种查找都是基于线性结构的查找.也就是说我们的查找表是一个线性表,我

算法学习之查找算法:动态查找表(1)二叉排序树

引言: 动态查找表的特点是,在表结构本身是在查找过程中动态生成的,即对于给定值key,若表中存在其关键字等于key的记录,则查找成功返回,否则插入关键字等于key的记录. 二叉排序树或者是一棵空树,或者是具有下列性质的二叉树: 1.若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值. 2.若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值. 3.它的左.右子树也分别为二叉排序树. <一>二叉排序树的查找: 二叉排序树又称二叉查找树,查找过程是先将给定值和根结点的关键字比较,