Java 实现顺序查找

 1 package search;
 2
 3 import java.util.Scanner;
 4
 5 /*通常把查找过程中对关键字的平均比较次数,也叫平均查找长度(ASL)作为衡量一个查找算法效率优劣的标准:
 6  * ASL=求和(p[i]*c[i]),(i=1~n)。P[i]找到第i个记录的概率,c[i]找到第i个记录进行比较的次数*/
 7 /*顺序查找的思想:从表的一端开始,顺序扫描线性表,依次将扫描到的关键字和给定值k比较,若当前扫描的关键字与k相等,则查找成功,
 8  * 若扫描结束后,任未发现关键字等于k的记录,则查找失败。
 9  * ASL1查找成功(求和)i/n,i=1~n.
10  * ASL2查找失败n*/
11
12 //第一行输入要查找的序列,第二行输入关键字
13 public class shunxusearch {
14
15     public static void main(String[] args){
16         Scanner cin = new Scanner(System.in);
17         String[] s= new String[2];
18         for(int i =0;i<2;i++){
19             s[i] = cin.nextLine();
20         }
21         String[] st = s[0].split(" ");
22         int[] c = new int[st.length];
23         for(int j=0;j<st.length;j++){
24             c[j]=Integer.parseInt(st[j]);
25         }
26         int key = Integer.parseInt(s[1]);
27         int result = search(c,key);
28         System.out.println(result);
29         cin.close();
30     }
31     public static int search(int[] R,int k){
32         int i,n=R.length;
33         for(i=0;i<n;i++){
34             if(R[i]==k){
35                 return i;
36             }
37         }
38         return -1;
39     }
40 }
时间: 2024-08-17 09:43:39

Java 实现顺序查找的相关文章

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

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

顺序查找JAVA实现

顺序查找又称线性查找:    基本思想:从查找表的一端开始,向另一端逐个按给定值K与关键字进行比较,若找到,查找成功;    并给出记录在表中的位置:若整个表检测完,仍未找到与K值相同的关键字,则查找失败;    优点:对表中数据的存储没有要求,对于链表,只能进行顺序查找:    缺点:当n值很大时,平均查找长度较大,效率低: import java.util.Scanner; public class OrderSearch { /** * 顺序查找算法 * * @param srcArray

Java中常用的查找算法——顺序查找和二分查找

Java中常用的查找算法——顺序查找和二分查找 一.顺序查找: a) 原理:顺序查找就是按顺序从头到尾依次往下查找,找到数据,则提前结束查找,找不到便一直查找下去,直到数据最后一位. b) 图例说明: 原始数据:int[] a={4,6,2,8,1,9,0,3}; 要查找数字:8 代码演示: import java.util.Scanner; /* * 顺序查找 */ public class SequelSearch { public static void main(String[] arg

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 vo

顺序查找JAVA实现 设置哨兵

/** * 顺序查找,设置哨兵 * 待查找数组:a[n] * 待查找元素:key * * 方法: * b[n+1],其中,b[0]存放key,b[1]至b[n]存放a[0]至a[n-1]的元素 * 将b[n]从后向前扫描,如果查找成功,返回元素在数组b中的下标,从1开始:如果查找失败,返回0 * * 设置哨兵的好处:避免了每次循环后都要检查数组下标是否越界 * @author kpp * */ public class SequenSearch { public static void main

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

基本思想 顺序查找是最简单的查找方法,从线性表的一端开始,依次将每个记录的关键字与给定值进行比较. 代码实现 /** * 源码名称: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 public class Sequential_SearchDemo01 { 2 static int[] num = {1,3,4,6}; 3 public static void main(String[] args) { 4 int key = 7; 5 boolean x = Sequential_Search(key); 6 System.out.println(x); 7 } 8 private static boolean Sequential_Search(int ke

算法-符号表的实现(顺序查找和二分查找)

符号表是一种存储键值对的数据结构,支持两种操作插入和查找,就是将一组新的键值对存入表中然后根据给定的键得到对应的值,在编程语言中常用Dictionary原理类似.符号表是一种典型的抽象数据结构,在生活之中应用的场景也很多,可以根据钥匙开门,域名解析的时候的IP地址查询,字典和图书的简介和页数,key和value是密不可分的,通过key我们可以很快找到我们需要的value. 无序链表的顺序查找 主要通过Node节点存储数据,之前的博客中有关于链表的实现,详情可参考之前的博客,代码有注释就解释太多了

Java初始化顺序

1.在类的内部,变量的定义的先后顺序决定了初始化顺序,即使变量定义散布于方法定义间,他们仍旧会在任何方法(包括构造器)被调用之前得到初始化 2.静态数据的初始化 class Bowl{ Bowl(int marker){ print("Bowl("+marker+")"); } void f1(int marker){ print("f1("+marker+")"); } class Table{ static Bowl bo