zoukankan      html  css  js  c++  java
  • 数据结构学习--Java数组的实现

    一、创建数组

    private long[] arr;//初始化数组

    private int elemenets;//数组有效数据长度

    二、添加数组

    public void insert(long value){

      arr[elemenets] = value;

      elemenets ++;

    }

    三、显示数组

    public void display(){

      System.out.print("[");

      for(int i = 0;i < elements;i ++) {

        System.out.print(arr[i] + " ");

      }

      System.out.println("]");

    }

    四、查找数据

    public int search(long value) {

      int i ;

      for(i = 0;i < elements; i ++){

        if(value == arr[i]) {

          break;

        }

      }

      if(i == elements) { //说明没查到

        return -1;

      }else{

        return i;  

      }

    }

    五、查找数据,根据索引来查

    public long get(int index) {

      if(index > elements || index < 0) { //角标越界

        throw new ArrayIndexOutOfBoundsException();

      }else{

        return arr[index];  

      }

    }

    六、删除数据

    public void delete (int index) { 

      if(index > elements || index < 0) { //角标越界

        throw new ArrayIndexOutOfBoundsException();

      }else{

        for(int i = index; i < elements; i ++){

          arr[index] = arr[index + 1];

        } 

        elements --;

      }

    }

    七、更新数据

    public void change(int index,int newvalue){

      if(index > elements || index < 0) { //角标越界

        throw new ArrayIndexOutOfBoundsException();

      }else{

        arr[idnex] = newvalue;

      }

    }

    八、有序数组

    public void insert(long value){

      int i;

      for(i = 0;i < elements; i++){

        if(arr[i] > value) {

          break;

        }

      }

      for(int j = elements; j > i; j --){

        arr [j] = arr[j - 1];

      }

      arr[i] = value;

      elements ++;

    }

    九、二分法查找数组

    public int binarySearch(long value){

      int middle = 0;

      int low = 0;

      int pow = elements;

      while(true){

        middle = (pow + low) / 2;

        if(arr[middle] == value) {

          return middle;

        } else if(low > pow) {

          return -1;

        } else {

          if(arr[middle] > value){

            pow = middle - 1;

          } else {

            low = middle + 1;

          }

        }

      }

    }

  • 相关阅读:
    js中call,apply,bind方法的用法
    使用react脚手架初始化一个项目
    常用的CSS居中方式
    react组件之间的通信
    React脚手架less的安装
    js操作DOM的方法
    常用的ement语法
    本机系统通过SSH访问虚拟机中的Linux系统
    Java_amr格式转mp3
    linux/ubantu 安装 mysql 并且使其支持远程连接
  • 原文地址:https://www.cnblogs.com/xiaohualu/p/11771968.html
Copyright © 2011-2022 走看看