自定義數組的刪除(僞刪除)

刪除的時候首先要找到要刪除元素的索引,而後再把該索引以後的值賦值給前一個,最後數組長度再減一數組

int[] arr = {1,3,5,7,8,15,22,33,44,55,66}; Scanner sc=new Scanner(System.in);//用戶鍵盤錄入要查找的數字
 System.out.println("請輸入要查找的數字"); int findNum=sc.nextInt(); int low=0;//設定最小值
        int height=arr.length-1;//設定最大值
        int mid=0;//求取中間值的索引
        int count=arr.length;//獲取數組的總長度
        boolean isFind=false;//標誌位表明是否找到
        int delIndex=-1;//設置要刪除元素的索引
        while(height>=low) {//因爲不知道循環多少次因此用while循環,而且最大值老是大於等於最小值如果小於則重複查找了
            mid=(low+height)/2; if(findNum>arr[mid]) { low=mid+1;//當大於中間值時最小值索引改變爲中間值+1,
 } else if(findNum<arr[mid]){ height=mid-1;//當大小於中間值時改變爲最大值索引爲中間值-1
 } else if(findNum==arr[mid]) {//當知足條件時跳出循環,而且將標誌位賦值爲true
                isFind=true; System.out.println("恭喜找到了索引爲"+mid); delIndex=mid; //獲取要被刪除數的索引
                break; } } if(isFind!=true) { System.out.println("您所輸入的數字沒法找到"); } count--;//刪除以後數組長度要+1
        for (int i = mid; i <count ; i++) { arr[i]=arr[i+1]; } for (int i = 0; i < count; i++) { System.out.println(arr[i]); }
相關文章
相關標籤/搜索