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

溫馨提示×

c語言動態鏈表如何創建

小億
112
2023-08-24 19:50:48
欄目: 編程語言

動態鏈表的創建主要包括以下幾個步驟:

  1. 定義鏈表節點的數據結構:
typedef struct Node{
int data;           // 節點存儲的數據
struct Node* next;  // 指向下一個節點的指針
}Node;
  1. 創建鏈表的頭節點:
Node* createList(){
Node* head = (Node*)malloc(sizeof(Node));  // 為頭節點分配內存空間
if(head == NULL){
printf("內存分配失敗!\n");
exit(1);
}
head->next = NULL;  // 頭節點的next指針置空
return head;
}
  1. 插入節點到鏈表中:
void insertNode(Node* head, int data){
Node* newNode = (Node*)malloc(sizeof(Node));  // 為新節點分配內存空間
if(newNode == NULL){
printf("內存分配失敗!\n");
exit(1);
}
newNode->data = data;  // 將數據賦值給新節點
newNode->next = head->next;  // 使新節點的next指針指向原來的第一個節點
head->next = newNode;  // 使頭節點的next指針指向新節點
}
  1. 打印鏈表的所有節點:
void printList(Node* head){
Node* p = head->next;  // 從第一個節點開始遍歷
while(p != NULL){
printf("%d ", p->data);  // 打印節點數據
p = p->next;  // 指針移動到下一個節點
}
printf("\n");
}

以下是一個完整的示例代碼:

#include <stdio.h>
#include <stdlib.h>
typedef struct Node{
int data;
struct Node* next;
}Node;
Node* createList(){
Node* head = (Node*)malloc(sizeof(Node));
if(head == NULL){
printf("內存分配失敗!\n");
exit(1);
}
head->next = NULL;
return head;
}
void insertNode(Node* head, int data){
Node* newNode = (Node*)malloc(sizeof(Node));
if(newNode == NULL){
printf("內存分配失敗!\n");
exit(1);
}
newNode->data = data;
newNode->next = head->next;
head->next = newNode;
}
void printList(Node* head){
Node* p = head->next;
while(p != NULL){
printf("%d ", p->data);
p = p->next;
}
printf("\n");
}
int main()
{
Node* head = createList();
insertNode(head, 1);
insertNode(head, 2);
insertNode(head, 3);
insertNode(head, 4);
printList(head);
return 0;
}

運行結果為:

4 3 2 1

0
茌平县| 祁阳县| 扎兰屯市| 嵊泗县| 内乡县| 碌曲县| 康定县| 刚察县| 新昌县| 苏州市| 抚宁县| 元阳县| 资源县| 卢氏县| 江西省| 瑞安市| 蓝田县| 泗水县| 香河县| 荥经县| 突泉县| 屯门区| 孟津县| 永德县| 将乐县| 宜都市| 岗巴县| 温泉县| 朔州市| 牙克石市| 越西县| 碌曲县| 襄垣县| 滕州市| 文登市| 英山县| 上虞市| 五常市| 西丰县| 东乡| 延安市|