美文网首页
数组查找操作

数组查找操作

作者: 我的天空分外蓝 | 来源:发表于2018-08-16 21:28 被阅读0次

数组常见的查找操作如下:

  1. 需求:给一个数组,查找某个元素在数组中的位置,如果该元素不存在,则返回-1。
    //正常查找元素
    public int getIndex(int[] arr, int key) {
    for(int i=0; i<arr.length-1; i++) {
    if(key==arr[i])
    return i;
    }
    return -1;
    }
    特点:通用,从第一个元素开始依次比较,效率一般
  2. 需求:给一个有序数组,查找某个元素在数组中的位置,如果该元素不存在,则返回-1。
    方式1:
    public int getIndex(int[] arr, int key) {
    int min=0;
    int max=arr.length-1;
    while(min<=max) {
    int mid=(min+max)/2;
    if(key>arr[mid])
    min=mid+1;
    else if(key<arr[mid])
    max=mid-1;
    else
    return mid;
    }
    return -1;
    }
    方式2:
    public int getIndex(int[] arr, int key) {
    int min=0;
    int max=arr.length-1;
    int mid=(min+max)/2;
    while(key!=arr[mid]) {
    if(key>arr[mid])
    min=mid+1;
    else if(key<arr[mid])
    max=mid-1;
    if(min>max)
    return -1;
    mid=(min+max)/2;
    }
    return mid;
    }
    特点:快速排序的前提是数组有序,效率高。
  3. 需求:给一个有序数组,将一个元素插入数组中保证数组有序。
    public int getIndex(int[] arr, int key) {
    int min=0;
    int max=arr.length-1;
    while(min<=max) {
    int mid=(min+max)/2;
    if(key>arr[mid])
    min=mid+1;
    else if(key<arr[mid])
    max=mid-1;
    else
    return mid;
    }
    return min;
    }
    思路:先查找该元素是否存在数组中,如果存在,返回在数组中的索引,如果不存在,数组不能再折半情况下,返回数组的最小索引。

相关文章

  • 数组查找操作

    数组常见的查找操作如下: 需求:给一个数组,查找某个元素在数组中的位置,如果该元素不存在,则返回-1。//正常查找...

  • 算法和数据结构3.1数组操作-线性查找

    线性查找是一种在数组中查找数据的算法,即便数据没有按照顺序存储,也可以应用线性查找。 数组详解 线性查找的操作很简...

  • python3 二分查找

    有序数组的二分查找, 常规操作。

  • C/C++查找大总结(未完)

    二分查找 定义 对已经排好序的数组进行查找对数组进行操作在查找失败最多次数$ K=\lfloor log2^{n}...

  • JavaScript查找数组

    JavaScript中数组的常用操作之查找数组 Array.includes() 方法 array.include...

  • 二分搜索算法 Go

    说明 二分查找的数组必须是有序的,二分查找的优点是查找操作仅需要O(lgN)时间。 逻辑 首先传入的数组必须是有序...

  • (八)数组方法

    数组方法汇总 数组拼接为字符串 模拟栈和队列 排序 数组操作 查找item在数组中的位置 迭代方法 归并方法

  • JS文集的目录

    js基础心法 深浅拷贝(递归)深浅拷贝(首层浅拷贝) js 数据处理 数组对象查找的常见操作数组对象去重的常见操作...

  • Python学习笔记-数组

    持续学习记录过程,方便以后查找 操作数组 列表分片 拷贝概念的补充 在复制数组的时候,使用=复制只是将该数组的标签...

  • 数组工具类 Arrays

    Arrays 用来操作数组的工具类,方法都是静态的 1、二分查找2、复制3、比较数组是否相同4、fill,给数组放...

网友评论

      本文标题:数组查找操作

      本文链接:https://www.haomeiwen.com/subject/zgxabftx.html