gpt4 book ai didi

c++ - 空/全链表

转载 作者:行者123 更新时间:2023-11-28 06:40:57 24 4
gpt4 key购买 nike

那么对于我的第一个问题。我正在做一个项目,我需要我的构造函数来创建一个空的链表。这是正确的吗?

// member variables
private:
node* headptr;
size_type howmany;

//constructor
SuperList::SuperList(){
headptr = NULL; //does this create an empty list?
howmany = 0; //counts how many nodes are in the list
}

第二个问题。我需要创建一个 isEmpty() 函数和一个 isFull() 函数。对于 isEmpty() 函数,我只是看看 howmany == 0,对吧?但是要检查列表是否已满我该怎么做?对于普通数组,有一个容量,但没有为链表指定容量。

    //these are the specifications I was given for the isFull function

Effect: Determines if this list is full
Precondition: NONE
Postcondition: this object is unchanged
Returns: true if it is not possible to allocate any more memory, false otherwise

bool SuperList::isFull() const

最佳答案

第一个问题:

  • 这很好。虽然,您可能想添加一个节点来跟踪的尾部。

第二个问题

  • isEmpty() 可以通过检查 how_many 是否为零来完成,或者只需检查 headptr == NULL 即可。

  • isFull() 取决于您是否真的想对列表的长度设置限制。一般来说,列表可以继续运行仅受系统中可用的已分配内存量的限制。如果您的意图是设置一个限制,那么我将允许用户通过指定列表大小的构造函数传入一个数字。从这里您可以简单地使用计数器来跟踪...

关于c++ - 空/全链表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25964959/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com