在数组中指定位置添加和删除元素

时间:2021-09-01 14:47:42
public class ArrayDemo {
      public static void main(String[] args) {
         
     int[] arr={2,3,5,12,34,56,23,11};
     System.out.print("删除元素后的数组排序:");
     delete(arr,3);  
     System.out.println();
     System.out.print("数组中最后位置添加元素后的数组排序:");
     addValue(arr,7);  
     System.out.println();
     System.out.print("数组中指定位置添加元素后的数组排序:"); 
     addValue(arr,8,2);
     System.out.println();
   
}
      /**
       * 删除指定位置的元素
       * @param arr
       * @param index
       */
      public static void delete(int[] arr, int index){
      int[] arr2=new int[arr.length-1];
       if(index<0||index>arr2.length-1){
        System.out.println("数组下标越界");
       }else{
        for(int i=0;i<arr2.length;i++){
            if(i<index){
            arr2[i]=arr[i];
            }
            if(i==index){
            continue;
            }
            if(i>index){
            arr2[index]=arr[index+1];
            arr2[i]=arr[i+1];
            }  
            }
       }
       
        for(int j=0;j<arr2.length;j++){
    System.out.print(arr2[j]+" ");
    }
      
      }
      /**
       * 在数组末尾添加元素
       * @param arr
       * @param value
       * @return
       */
        public static int[] addValue(int[] arr,int value){
         int[] arr3=new int[arr.length+1];
         arr3[arr.length]=value;
         for(int i=0;i<arr.length;i++){
         arr3[i]=arr[i];
         }
         for(int j=0;j<arr3.length;j++){
         System.out.print(arr3[j]+" ");
         }
     
  return arr;
}
      
      /**
       * 在数组指定位置添加元素
       * @param arr
       * @param value
       * @param index
       * @return
       */
      public static int[] addValue(int[] arr,int value,int index){
     int[] arr4=new int[arr.length+1];
     if(index<0||index>arr4.length-1){
     System.out.println("数组下标越界!");
     }else{
     for(int i=0;i<arr.length;i++){
         if(index>i){
         arr4[i]=arr[i];
         }
         if(index==i){
         arr4[index]=value;  
         }
         if(index<i){
         arr4[index+1]=arr[index];
         arr4[i+1]=arr[i];
         }
         }  
     }
     
     for(int j=0;j<arr4.length;j++){
     System.out.print(arr4[j]+" ");
     }
   
return arr;
  }
}