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

C 語言資料結構:順序表(動態陣列)完整實現與操作封裝

     編輯:關於C

結構定義

#define MAXSIZE 100
struct List {
    int element[MAXSIZE];
    int len;  // 當前長度
};

核心操作函數

函數功能關鍵邏輯
IsEmpty判空return list->len == 0;
GetElement按索引取值邊界檢查 0 <= i < len
Add尾部批量新增迴圈讀入,更新 len
Insert指定位置插入從尾部向前搬移騰空位,檢查滿/越界
Delete刪除指定索引從刪除位置向前搬移覆蓋,len--
Modify修改指定索引值邊界檢查後直接賦值
Clear清空len = 0;
Show遍歷列印迴圈輸出 element[0..len-1]

主程式選單驅動測試

int main() {
    List *p = malloc(sizeof(List)); p->len = 0;
    Add(p);  // 初始輸入
    while (1) {
        printf("1.判空 2.取值 3.新增 4.刪除 5.插入 6.顯示 7.修改 8.清空 0.退出\n");
        switch (get_choice()) { ... }
    }
}

關鍵實現細節

  • 插入/刪除均為 O(n) 搬移操作,適合小規模、尾部操作頻繁場景。
  • 固定大小陣列 MAXSIZE 限制容量,動態擴容版本可改用 realloc。
  • 索引從 0 開始,介面提示需明確告知使用者。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved