温馨提示×

C语言如何设置单链表的长度

小亿
159
2023-12-01 00:41:24
栏目: 编程语言

在C语言中,单链表的长度可以通过遍历链表的方式来确定。我们可以定义一个计数器变量,初始值为0,然后使用一个指针指向链表的头节点,通过遍历链表的方式依次访问链表中的每个节点,并将计数器加1,直到遍历到链表的末尾节点为止。最后计数器变量的值就是链表的长度。

下面是一个示例代码,用于计算单链表的长度:

#include <stdio.h>
#include <stdlib.h>

// 定义单链表节点结构体
typedef struct Node {
    int data;
    struct Node* next;
} Node;

// 计算单链表的长度
int getLinkedListLength(Node* head) {
    int count = 0;
    Node* current = head;
    while (current != NULL) {
        count++;
        current = current->next;
    }
    return count;
}

int main() {
    // 创建一个简单的单链表
    Node* head = (Node*)malloc(sizeof(Node));
    Node* second = (Node*)malloc(sizeof(Node));
    Node* third = (Node*)malloc(sizeof(Node));
    
    head->data = 1;
    head->next = second;
    
    second->data = 2;
    second->next = third;
    
    third->data = 3;
    third->next = NULL;
    
    // 计算单链表的长度
    int length = getLinkedListLength(head);
    printf("链表的长度为:%d\n", length);
    
    // 释放链表的内存
    free(head);
    free(second);
    free(third);
    
    return 0;
}

输出结果为:

链表的长度为:3

在示例代码中,我们创建了一个包含3个节点的单链表,通过调用getLinkedListLength()函数,可以计算出链表的长度为3。

0