91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

c語言怎么建立多個動態鏈表

小億
131
2023-08-24 20:21:10
欄目: 編程語言

要建立多個動態鏈表,可以使用結構體和指針來實現。

首先,定義一個結構體來表示鏈表的節點,包含一個數據域和一個指向下一個節點的指針域,如下所示:

typedef struct Node {
int data;            // 數據域
struct Node* next;   // 指針域
} Node;

然后,定義一個函數來創建一個新的節點,接受一個整數作為參數,并返回指向新節點的指針,如下所示:

Node* createNode(int data) {
Node* newNode = (Node*)malloc(sizeof(Node));  // 分配內存空間
newNode->data = data;                          // 設置數據
newNode->next = NULL;                          // 將指針域設為NULL
return newNode;                                // 返回指向新節點的指針
}

接下來,可以定義一個函數來添加節點到鏈表中,這里以頭插法為例,如下所示:

void insertNode(Node** head, int data) {
Node* newNode = createNode(data);  // 創建一個新節點
newNode->next = *head;             // 將新節點的指針域指向原頭節點
*head = newNode;                   // 更新頭節點為新節點
}

最后,可以定義一個函數來打印鏈表中的節點,如下所示:

void printList(Node* head) {
Node* current = head;  // 從頭節點開始遍歷鏈表
while (current != NULL) {
printf("%d ", current->data);  // 打印當前節點的數據
current = current->next;       // 將指針移動到下一個節點
}
printf("\n");
}

使用上述函數,可以建立多個動態鏈表,示例代碼如下:

int main() {
Node* list1 = NULL;
Node* list2 = NULL;
insertNode(&list1, 1);
insertNode(&list1, 2);
insertNode(&list1, 3);
insertNode(&list2, 4);
insertNode(&list2, 5);
insertNode(&list2, 6);
printf("List 1: ");
printList(list1);
printf("List 2: ");
printList(list2);
return 0;
}

輸出結果為:

List 1: 3 2 1
List 2: 6 5 4

這樣就建立了兩個動態鏈表list1和list2,并分別添加了若干節點。

0
濮阳县| 普兰店市| 苏州市| 集贤县| 门头沟区| 黔江区| 东明县| 西和县| 辽宁省| 开化县| 迁安市| 金塔县| 鄂尔多斯市| 玛纳斯县| 黎城县| 资溪县| 长治市| 三门县| 临武县| 赫章县| 读书| 府谷县| 苗栗县| 孟连| 巴里| 夏河县| 民乐县| 石嘴山市| 庆云县| 鄱阳县| 错那县| 申扎县| 方城县| 广宁县| 钟山县| 鄂托克旗| 湖州市| 泾阳县| 鞍山市| 高青县| 安岳县|