首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

C語言鏈表操作綜合實例:創建、刪除、插入、輸出與聯合體介紹

     編輯:關於C語言

鏈表節點結構

#define NULL 0
#define TYPE struct stu
#define LEN sizeof(struct stu)

struct stu {
    int num;
    int age;
    struct stu *next;
};

核心操作函數

創建鏈表 creat

輸入節點數,循環分配內存、讀取數據、鏈接節點,返回頭指針。

刪除節點 delete

遍歷查找匹配 num 的節點:

  • 首節點 → 頭指針後移
  • 中間節點 → 前驅 next 指向後繼
  • 釋放內存,返回新頭指針

插入節點 insert

按 num 升序插入:

  • 空表 → 直接作頭節點
  • 最小值 → 插入頭部,更新頭指針
  • 中間位置 → 前驅 next 指向新節點,新節點指向後繼
  • 最大值 → 尾部追加

輸出鏈表 print

遍歷輸出各節點 num、age。

主函數測試流程

  1. 輸入節點數,創建鏈表並輸出
  2. 輸入刪除節點編號,刪除並輸出
  3. 輸入插入節點數據,插入並輸出

聯合體引入

代碼末尾引入聯合體概念:同一內存區域存儲不同類型數據(如教師/學生的「單位」字段:教研室字符串或班級整數)。聯合體成員共享內存,長度等於最大成員長度,同一時刻只能存一種類型值。

關鍵點提示

  • malloc 分配內存需檢查返回值
  • 鏈表操作修改頭指針時必須返回新頭指針
  • 打印函數若需保留頭指針,應用臨時變量遍歷
  • 刪除節點後務必 free 釋放內存

此例完整展示了單鏈表基本操作的指針操作邏輯,是掌握動態數據結構的經典入門案例。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved