超级数组----增删改查

package com.hu.array;

import java.util.Arrays;

/**

  • 超级数组

  • @author ht

  • @date 2021/8/18
    **/
    public class SuperArray {

    /**

    • 存储元素
      /
      private int[] element;
      /
      *
    • 当前索引位置
      */
      private int currentIndex = -1;

    /**

    • 初始化数组
      */
      public SuperArray(){
      this(10);
      }
      public SuperArray(int capacity){
      element = new int[capacity];
      }

    /**

    • 增加
    • @param data
      /
      public void add(int index,int data){
      currentIndex++;
      if (currentIndex > element.length-2){
      int[] temp = new int[element.length
      2];
      for (int i = 0; i < element.length; i++) {
      temp[i] = element[i];
      }
      element = temp;
      }
      for (int i = currentIndex; i >= index; i–) {
      element[i+1] = element[i];
      }
      element[index] = data;
      }

    /**

    • 头插
    • @param data
      */
      public void addToHeader(int data){
      this.add(0,data);
      }

    /**

    • 尾插
    • @param data
      /
      public void addToTail(int data){
      this.add(currentIndex + 1,data);
      }
      /
      *
    • 删除
    • @param index
      */
      public void delete(int index) {
      if (index < 0 || index > currentIndex-1) {
      System.out.println(“你删除的下标[”+index+"]不在范围内!");
      }else{
      for (int i = index+1; i < element.length; i++) {
      element[i-1] = element[i];
      }
      currentIndex–;
      }
      }

    /**

    • 修改
    • @param index
    • @param data
      */
      public void update(int index,int data){
      if (index < 0 || index > currentIndex-1) {
      System.out.println(“你修改的下标[”+index+"]不在范围内!");
      }else{
      element[index] = data;
      }
      }

    /**

    • 查找
    • @param index
    • @return
      */
      public Integer select(int index){
      if (index < 0 || index > currentIndex - 1) {
      return null;
      }else{
      return element[index];
      }
      }

    /**

    • 获得当前元素个数
    • @return
      */
      public int getCurrentIndex(){
      return currentIndex+1;
      }

    public void sort(){
    for (int i = 0; i < currentIndex; i++) {
    for (int j = 0; j < currentIndex-i; j++) {
    if (element[j] > element[j+1]){
    int temp = element[j];
    element[j] = element[j+1];
    element[j+1] = temp;
    }
    }
    }
    }

    @Override
    public String toString() {
    int[] temp = new int[currentIndex+1];
    for (int i = 0; i < currentIndex+1; i++) {
    temp[i] = element[i];
    }
    return Arrays.toString(temp);
    }
    }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值