C言語で単方向連結リストの長さをどのように設定するか
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;
}
ネイティブな日本語で言い換えてください。1つのオプションのみ必要です:出力:
链表的长度为:3
サンプルコードでは、3つのノードを含む単方向連結リストを作成しており、getLinkedListLength()関数を呼び出すことで、連結リストの長さが3であることがわかります。