Array

作者: bigdata张凯翔 | 来源:发表于2021-04-26 11:41 被阅读0次

    package array;

    /**

      1. 数组的插入、删除、按照下标随机访问操作;
    • 2)数组中的数据是int类型的;
      */
      public class Array {
      //定义整型数据data保存数据
      public int data[];
      //定义数组长度
      private int n;
      //定义中实际个数
      private int count;

       //构造方法,定义数组大小
      

      public Array(int capacity){
      this.data = new int[capacity];
      this.n = capacity;
      this.count=0;//一开始一个数都没有存所以为0
      }

      //根据索引,找到数据中的元素并返回
      public int find(int index){
      if (index<0 || index>=count) return -1;
      return data[index];
      }

      //插入元素:头部插入,尾部插入
      public boolean insert(int index, int value){
      //数组中无元素

       //if (index == count && count == 0) {
       //    data[index] = value;
       //    ++count;
       //    return true;
       //}
      
       // 数组空间已满
       if (count == n) {
           System.out.println("没有可插入的位置");
           return false;
       }
       // 如果count还没满,那么就可以插入数据到数组中
       // 位置不合法
       if (index < 0||index > count ) {
           System.out.println("位置不合法");
           return false;
       }
       // 位置合法
       for( int i = count; i > index; --i){
           data[i] = data[i - 1];
       }
       data[index] = value;
       ++count;
       return true;
      

      }
      //根据索引,删除数组中元素
      public boolean delete(int index){
      if (index<0 || index >=count) return false;
      //从删除位置开始,将后面的元素向前移动一位
      for (int i=index+1; i<count; ++i){
      data[i-1] = data[i];
      }
      //删除数组末尾元素 这段代码不需要也可以
      /int[] arr = new int[count-1];
      for (int i=0; i<count-1;i++){
      arr[i] = data[i];
      }
      this.data = arr;
      /

       --count;
       return true;
      

      }
      public void printAll() {
      for (int i = 0; i < count; ++i) {
      System.out.print(data[i] + " ");
      }
      System.out.println();
      }

      public static void main(String[] args) {
      Array array = new Array(5);
      array.printAll();
      array.insert(0, 3);
      array.insert(0, 4);
      array.insert(1, 5);
      array.insert(3, 9);
      array.insert(3, 10);
      //array.insert(3, 11);
      array.printAll();
      }
      }

    相关文章

      网友评论

          本文标题:Array

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