Python列表和c/c++数组

2024-10-02 22:29:25 发布

您现在位置:Python中文网/ 问答频道 /正文

例如,如果我们在python中有一个数组arr = [1,3,4]。我们可以通过使用arr.remove(element)otarr.pop()删除数组中的元素,列表将发生变化,其长度将更改,而该元素将不存在。有没有办法做到这一点是C OT C++?如果是,怎么做?在


Tags: 元素列表数组elementotpopremovearr
3条回答

C中的数组只是指针,它们不包含有关其长度的信息。所以,C程序员不仅要保留指针,还要保留它的长度。下面是从“C-array”中删除特定值的代码片段

/// \return a new length
int removeFromArray( int * array, int arrayLength, int elementToRemove ) {
    int i;
    for ( i = 0; i < arrayLength; i++ ) {
        if ( array[ i ] == elementToRemove ) {
            memmove( & array[ i ], & array[ i + 1 ], arrayLength - i - 1 );
            return arrayLength - 1;
        }
    }
    return arrayLength;
}

我猜您在寻找std::vector(或标准库中的其他容器)。在

<>在C++中,你可以使用里程

使用^ {CD1>}或^ {CD2>}。

如果需要在C中实现,则需要编写双链接列表实现,或者如果不想模拟std::vector,可以使用memcpy和{}来实现

相关问题 更多 >