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

C語言鏈表通訊錄:純記憶體版核心邏輯精簡實現

     編輯:關於C

資料結構

pBook add_linkman(pBook head) {
    int n; scanf("%d", &n);
    pBook tail = head;
    while (tail->pNext) tail = tail->pNext;
    while (n--) {
        pBook node = malloc(sizeof(Book));
        scanf("%s%s%s%d%d", node->name, node->sex, node->addr, &node->year, &node->phone_num);
        node->pNext = NULL;
        tail->pNext = node;
        tail = node;
    }
    return head;
}

按姓名刪除

pNext;
    while (cur) {
        if (strcmp(cur->name, name) == 0) {
            prev->pNext = cur->pNext;
            free(cur);
            puts("刪除成功");
            return head;
        }
        prev = cur; cur = cur->pNext;
    }
    puts("未找到");
    return head;
}

遍歷顯示

name, p->sex, p->addr, p->year, p->phone_num);
}

主循環


與文件版差異

  • 本版純記憶體,程序退出數據丟失。
  • 無 write_file/read_file/amend_file 文件同步邏輯。
  • 適合教學理解鏈表指針操作,生產需加持久化層。

總結

鏈表通訊錄是「動態記憶體 + 指針操作 + 選單驅動」的綜合練習。掌握頭節點哨兵、尾插法、雙指針刪除、遍歷釋放四大核心模式,即可舉一反三實現棧、隊列、哈希桶等結構。

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