C言語のCreateList関数の使い方は?
C言語でのcreatelist()関数の役割は新しいリストを作成することです。
関数の定義は次のようになります。
typedef struct Node {
int data;
struct Node* next;
} Node;
Node* createList(int n) {
Node* head = NULL;
Node* temp = NULL;
Node* p = NULL;
int i;
// 创建n个节点
for (i = 0; i < n; i++) {
temp = (Node*)malloc(sizeof(Node));
printf("输入第 %d 个节点的值: ", i+1);
scanf("%d", &(temp->data));
temp->next = NULL;
if (head == NULL) {
head = temp;
} else {
p = head;
// 移动到链表尾部
while (p->next != NULL) {
p = p->next;
}
p->next = temp;
}
}
return head;
}
ユーザーが入力した値をもとにn個のノードからなる連結リストを作成し、その先頭へのポインタを返します。各ノードは、整数の値と次のノードへのポインタを持ちます。関数内部では、malloc()を使って各ノードにメモリを割り当て、ユーザーが入力した値をノードのdataフィールドに格納します。その後、連結リストの末尾に新しいノードを追加し、n個のノードが作成されるまで続けます。最後に、関数はその連結リストの先頭へのポインタを返します。