顺序查找以及带哨兵的顺序查找java版本

简介: 顺序查找以及带哨兵的顺序查找java版本
import java.util.Arrays;
import java.util.Random;
class seqSearch {
        public static void main(String[] args) {
            seqSearch sq=new seqSearch();
            //产生一个随机数组
            Random r = new Random();
            int arr[] = new int[10];
            for(int i=0;i<arr.length;i++){
                arr[i] =r.nextInt(10);
            }
            System.out.println(Arrays.toString(arr));
            System.out.println(sq.SeqSearch(arr,arr.length,3));
            System.out.println(sq.SeqSearch2(arr,arr.length,3));
        }
  /*
  顺序查找又称线性查找;
  基本思想:从查找表的一端开始,向另一端逐个按给定值K与关键字进行比较,若找到,查找成功;
  并给出记录在表中的位置;若整个表检测完,仍未找到与K值相同的关键字,则查找失败;
  优点:对表中数据的存储没有要求,对于链表,只能进行顺序查找;
  缺点:当n值很大时,平均查找长度较大,效率低;
  */
        //无监视哨的情况,查询成功返回该对象的下标序号,失败时返回-1。
        int SeqSearch(int r[],int n,int k)
        {
            int i=0;
            while(i<n&&r[i]!=k)
                i++;
            if(i<n)
                return i;
            else
                return -1;
        }
        //有监视哨的情况,多定义一个单元存放待查找的元素,这样每次循环只需要进行元素的比较,不需要比较下标是否越界。
        //查询成功返回该对象的下标序号,失败时返回-1。
        int SeqSearch2(int r[],int n,int k)
        {
            int i=0;
            r[n-1]=k;
            while(r[i]!=k)
                i++;
            if(i<n)
                return i;
            else
                return -1;
        }
    }
相关文章
|
2月前
|
Java 中间件 测试技术
java依赖冲突解决问题之jar包版本冲突无法通过升降级解决时如何解决
java依赖冲突解决问题之jar包版本冲突无法通过升降级解决时如何解决
|
2月前
|
Java 应用服务中间件 Windows
【应用服务 App Service】App Service 中部署Java项目,查看Tomcat配置及上传自定义版本
【应用服务 App Service】App Service 中部署Java项目,查看Tomcat配置及上传自定义版本
|
18天前
|
缓存 Java Maven
java: 警告: 源发行版 11 需要目标发行版 11 无效的目标发行版: 11 jdk版本不符,项目jdk版本为其他版本
如何解决Java项目中因JDK版本不匹配导致的编译错误,包括修改`pom.xml`文件、调整项目结构、设置Maven和JDK版本,以及清理缓存和重启IDEA。
33 1
java: 警告: 源发行版 11 需要目标发行版 11 无效的目标发行版: 11 jdk版本不符,项目jdk版本为其他版本
|
15天前
|
Java Docker 容器
java版本学习网站又添加了一个libgdx模块
java版本学习网站之前添加了docker,想了想还是再把libgdx添加进去吧。
18 3
|
6天前
|
Java Maven Spring
查看springboot版本支持最高的java版本
截至最近更新,Spring Boot 3.0及以上版本支持的最高Java版本为Java 17。鉴于技术的不断演进,建议直接参考Spring Boot的官方文档获取最准确的支持信息,因为这些版本兼容性可能会随着新版本的发布而有所变化。选择与你的Spring Boot版本相匹配的Java版本,可以确保充分利用框架特性,同时保证项目的稳定性和前瞻性。
15 0
|
1月前
|
Java
java版本详解
java版本详解
|
17天前
|
Java Linux Maven
用sdkman在linux上管理多个java版本
本文介绍了如何在Linux上使用SDKMAN来管理多个Java版本,包括安装SDKMAN、验证安装、列出和安装不同版本的JDK、Maven和Gradle,以及如何切换使用不同版本。
17 0
|
1月前
|
Java API 开发工具
Java不同的版本
Java不同的版本Java不同的版本
38 4
|
1月前
|
Java API 开发工具
Java版本
Java版本
44 2
|
2月前
|
Java API Apache
JDK8到JDK24版本升级的新特性问题之在Java中,HttpURLConnection有什么局限性,如何解决
JDK8到JDK24版本升级的新特性问题之在Java中,HttpURLConnection有什么局限性,如何解决