这种判断链表是不是为满是否合理
这种判断链表是否为满是否合理?
我看到书上有这样的程序是是用malloc分配内存的方式来链表判断是否为满,如果是NULL就为满,否则为空。但是这总觉得内存那么大,如何才会满?
比如下面的程序,子函数中用malloc分配内存的方式来判断
------解决方案--------------------
没意义。
如果数据规模大到内存中装不下链表,那么是选错了结构,要用数据库的。
------解决方案--------------------
我估计这书的描述和你的表述有点出入
------解决方案--------------------
链表是动态结构,所以理论上不存在满不满的问题,实际中是否满则取决于系统内存,所以此处判断有没有可供使用的内存来判断链表是否到上限
------解决方案--------------------
确实没意义。什么时候为满,是由你来定义的。
我看到书上有这样的程序是是用malloc分配内存的方式来链表判断是否为满,如果是NULL就为满,否则为空。但是这总觉得内存那么大,如何才会满?
比如下面的程序,子函数中用malloc分配内存的方式来判断
#include "stdafx.h"
#include "stdio.h"
#include "stdlib.h"
#include "bool.h"
typedef int Item;
typedef struct node
{
Item item;
struct node *next;
}Node;
void InitializeNode(Node **head);
int main(void)
{
Node *head;
InitializeNode(&head);
return 0;
}
void InitializeNode(Node **head)
{
(*head) = NULL;
}
bool NodeIsEmpty(Node *head)
{
if(head == NULL)
{
return true;
}
else
{
return false;
}
}
bool NodeIsFull(Node *head)
{
Node *pnew;
pnew = (Node *)malloc(sizeof(Node));
if(pnew == NULL)
{
return true;
}
else
{
return false;
}
free(pnew);
}
------解决方案--------------------
没意义。
如果数据规模大到内存中装不下链表,那么是选错了结构,要用数据库的。
------解决方案--------------------
我估计这书的描述和你的表述有点出入
------解决方案--------------------
链表是动态结构,所以理论上不存在满不满的问题,实际中是否满则取决于系统内存,所以此处判断有没有可供使用的内存来判断链表是否到上限
------解决方案--------------------
确实没意义。什么时候为满,是由你来定义的。