4 链表的初始化

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

链表的初始化
创建新的节点:
struct Node* newNode(ElementType value , struct Node* pre , struct Node* next){
struct Node* node = (struct Node*)malloc(sizeof(struct Node));
node->value = value;
node->pre = pre;
node->next = next;
}
为了更方便的写后面的代码,我新加了这两个函数,首先,这第一个函数用来方便我们创建一个新的节点来使用,大家使用C语言在程序运行的时候创建一个新的结构体,一定是使用malloc函数对吧,这里我们一个节点所需要的三个值,分别是value , pre ,
next ,传给这个函数,此后,这个函数将返回一个新建成功的结构体的指针。

(一般情况下都不会出现创建失败的情况,这里为了简便,我们这样写就好了,便于学习使用)
struct List* newList(){
struct List* list = (struct List*)malloc(sizeof(struct List));
list->head = NULL;
list->count = 0;
}
接下来这个函数是用来创建一个管理链表的结构体使用的,之所以需要一个管理链表的结构体,之前阐述过了,因为我们可能使用多个链表,而每个链表都有一个头节点,都需要一个记录链表中节点数量的count变量,因此我们需要这样的一个结构体。

其中head我们赋值为空,在刚创建好链表的时候,链表中没有节点,所以直接让head指向空就好了。

其中count赋值为零,同理。

相关文档
最新文档