zoukankan      html  css  js  c++  java
  • 在数组中删除一个元素之经典解决

    数组:可以理解为一个容器,并且的长度是固定的,如果你想删除一个元素:

    1.可以将其要删除的元素置为null,然后遍历这个数组的时候,需要将数组中出现null的过滤掉

    2.可以让被删除的元素的后面的元素,集体的想左移动,然后减小数组的长度。

    3.可以最后一个元素代替你要替换的元素,然后减少数组的长度,我个人认为这一种方法稍微简单点:直接上代码

     1 /**
     2  * 从数组中删除一个元素 思想:由于删除后的元素的顺序是不确定的,所以可以最后一个   元素替代你要删除的内容
     3  * 当然也可以用第一个元素去替换你要替换删除的元素
     4  * @author dhb
     5  *
     6  */
     7 public class DeleteElement {
     8 
     9     public static void main(String[] args) {
    10         int[] arr = { 1, 3, 4, 2, 5 };
    11         //遍历数组:
    12        System.out.println(Arrays.toString(deleElement(arr)));
    13     }
    14     
    15     
    16     /**
    17      * 删除元素
    18      * @return
    19      */
    20     public static int[] deleElement(int[] arr) {
    21         Scanner s = new Scanner(System.in);
    22         System.out.println("请录入您要删除第几个元素");
    23         int num = s.nextInt();// 获取录入的数字
    24         if(num < arr.length) {
    25             arr[num - 1] = arr[arr.length - 1];//将最后一个元素填充到你要修改的元素的位置
    26             //缩小数组的容器
    27             int[] newArray = Arrays.copyOf(arr, arr.length - 1);
    28             return newArray;
    29         }
    30         System.out.println("索引越界");
    31         return null;
    32     }
    33     
    34 
    35 }

    注意:该要求不需要排序。

  • 相关阅读:
    UVA 10618 Tango Tango Insurrection
    UVA 10118 Free Candies
    HDU 1024 Max Sum Plus Plus
    POJ 1984 Navigation Nightmare
    CODEVS 3546 矩阵链乘法
    UVA 1625 Color Length
    UVA 1347 Tour
    UVA 437 The Tower of Babylon
    UVA 1622 Robot
    UVA127-"Accordian" Patience(模拟)
  • 原文地址:https://www.cnblogs.com/donghaibin/p/9078866.html
Copyright © 2011-2022 走看看