如何从数组中删除一个元素

Python013

如何从数组中删除一个元素,第1张

先找到这个元素数组中的位置n,然后:

void remove_from_array(int *a, int n, int &l)//从数组a中删除第n个元素。l为数组原始长度,引用传参,所以可以将新的长度带回主调函数。如果成功,函数返回0,否则函数返回-1。    {

        if(a == NULL || n<0 || l < 0 || n>=l)return 

        int i

        for(i = n i < l-1 i ++)

        {

            a[i] = a[i+1]//依次用后续一个元素覆盖前一个元素,直到数组尾。

        }

        l--

    }

从数组中删除元素,例如:

数组 int arrys={1,2,3,4,5,}

如何删除“3”这个元素

代码:

public class $ {

public static void main(String[] args) {

int[] arr = { 1, 2, 3, 4, 5 }

System.out.print("删除前:")

show(arr)

int[] brr = new int[arr.length - 1]

int idx = 0

for (int i : arr) {

if (i != 3) {

brr[idx++] = i

}

}

System.out.print("删除后:")

show(brr)

}

private static void show(int[] arr) {

for (int i : arr) {

System.out.print(i + ",")

}

System.out.println()

}

}

1、数组是多个 相同类型 的数据的组合,一个数组一旦声明/定义了,其 长度是固定的,不能动态变化 。

2、var arr []int    这时arr就是一个slice 切片 。

3、数组中的元素可以是任何数据类型,包括值类型和引用类型,但是 不能混用 。

4、数组创建后,如果没有赋值,有默认值如下:

        数值类型数组:    默认值为 0

        字符串数组:       默认值为 ""

        bool数组:           默认值为 false

5、使用数组的步骤:

        (1)声明数组并开辟空间

        (3)给数组各个元素赋值

        (3)使用数组

6、数组的下标是从0开始的。

7、数组下标必须在指定范围内使用,否则报panic:数组越界,比如var arr [5]int的有效下标为0~4.

8、Go的数组属于 值类型 ,在默认情况下是 值传递 ,因此会进行值拷贝。 数组间不会相互影响。

9、如想在其他函数中去修改原来的数组,可以使用 引用传递 (指针方式)。

10、长度是数组类型的一部分,在传递函数参数时,需要考虑数组的长度,看以下案例:

题1:编译错误,因为不能把[3]int类型传递给[]int类型,前者是数组,后者是切片;

题2:编译错误,因为不能把[3]int类型传递给[4]int类型;

题3:编译正确,因为[3]int类型传给[3]int类型合法。