0Pricing
C Academy · บทเรียน

ลิงก์ลิสต์

เรียนรู้การทำงานของลิงก์ลิสต์และวิธีนำการดำเนินการอย่างการแทรกและการลบไปใช้

ลิงก์ลิสต์ เป็นบทเรียน C Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 1 จากทั้งหมด 3 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน C Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส C Academy มีบทเรียนทั้งหมด 3 บทเรียน

รายการเชื่อมโยงใน C

รายการเชื่อมโยงใน C

รายการเชื่อมโยงคือโครงสร้างข้อมูลแบบไดนามิกที่องค์ประกอบต่าง ๆ (โหนด) เชื่อมต่อกันด้วยตัวชี้

ในบทเรียนนี้ คุณจะได้เรียนรู้:

  • รายการเชื่อมโยงทำงานอย่างไร
  • วิธีแทรกและลบโหนดในรายการเชื่อมโยง
  • ข้อดีของรายการเชื่อมโยงเมื่อเทียบกับอาร์เรย์
ลิงก์ลิสต์ — ภาพประกอบ 1

ตัวอย่าง: การกำหนดโหนดของรายการเชื่อมโยง

ตัวอย่าง: การกำหนดโหนดของรายการเชื่อมโยง

ใน C โหนดของรายการเชื่อมโยงกำหนดโดยใช้ struct ซึ่งมีฟิลด์ข้อมูลและตัวชี้ไปยังโหนดถัดไป

#include <stdio.h>
#include <stdlib.h>

struct Node {
    int data;
    struct Node *next;
};

int main() {
    struct Node *head = NULL;
    return 0;
}

การแทรกโหนดที่จุดเริ่มต้น

การแทรกโหนดที่จุดเริ่มต้น

หากต้องการแทรกโหนดใหม่ที่จุดเริ่มต้นของรายการเชื่อมโยง:

  • สร้างโหนดใหม่
  • กำหนดให้ตัวชี้ next ชี้ไปยังส่วนหัวปัจจุบัน
  • อัปเดตตัวชี้ส่วนหัว

ตัวอย่าง: การแทรกโหนดที่จุดเริ่มต้น

ตัวอย่าง: การแทรกโหนดที่จุดเริ่มต้น

โปรแกรมนี้แทรกโหนดใหม่ที่จุดเริ่มต้นของรายการเชื่อมโยง

#include <stdio.h>
#include <stdlib.h>

struct Node {
    int data;
    struct Node *next;
};

void insertAtBeginning(struct Node **head, int newData) {
    struct Node *newNode = (struct Node*)malloc(sizeof(struct Node));
    newNode->data = newData;
    newNode->next = *head;
    *head = newNode;
}

int main() {
    struct Node *head = NULL;
    insertAtBeginning(&head, 10);
    printf("Inserted: %d\n", head->data);
    return 0;
}

การลบโหนด

การลบโหนด

หากต้องการลบโหนดออกจากรายการเชื่อมโยง:

  • ค้นหาโหนดที่จะลบ
  • อัปเดตตัวชี้ next ของโหนดก่อนหน้า
  • คืนหน่วยความจำของโหนดที่ลบแล้ว

ตัวอย่าง: การลบโหนด

ตัวอย่าง: การลบโหนด

โปรแกรมนี้ลบโหนดออกจากรายการเชื่อมโยง

#include <stdio.h>
#include <stdlib.h>

struct Node {
    int data;
    struct Node *next;
};

void deleteNode(struct Node **head, int key) {
    struct Node *temp = *head, *prev;
    if (temp != NULL && temp->data == key) {
        *head = temp->next;
        free(temp);
        return;
    }
    while (temp != NULL && temp->data != key) {
        prev = temp;
        temp = temp->next;
    }
    if (temp == NULL) return;
    prev->next = temp->next;
    free(temp);
}

int main() {
    struct Node *head = (struct Node*)malloc(sizeof(struct Node));
    head->data = 10;
    head->next = NULL;
    deleteNode(&head, 10);
    return 0;
}

ข้อดีของรายการเชื่อมโยง

ข้อดีของรายการเชื่อมโยง

รายการเชื่อมโยงมีข้อดีหลายประการเมื่อเทียบกับอาร์เรย์:

  • ขนาดเปลี่ยนแปลงได้ (ไม่จำเป็นต้องระบุขนาดล่วงหน้า)
  • แทรกและลบข้อมูลได้อย่างมีประสิทธิภาพ
  • ไม่สิ้นเปลืองหน่วยความจำเนื่องจากมีขนาดตายตัว

สรุป

สรุป

ในบทเรียนนี้ คุณได้เรียนรู้:

  • รายการเชื่อมโยงคืออะไรและทำงานอย่างไร
  • วิธีแทรกและลบโหนด
  • ข้อดีของรายการเชื่อมโยงเมื่อเทียบกับอาร์เรย์

ถัดไป เราจะสำรวจสแตกและคิวใน C กัน

ลิงก์ลิสต์ — ภาพประกอบ 9

คำถามที่พบบ่อย

บทเรียน “ลิงก์ลิสต์” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “ลิงก์ลิสต์” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส C Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส C Academy มีบทเรียนทั้งหมด 3 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “ลิงก์ลิสต์”

เรียนรู้การทำงานของลิงก์ลิสต์และวิธีนำการดำเนินการอย่างการแทรกและการลบไปใช้ คุณปฏิบัติ C Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน C Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน C Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 1 จากทั้งหมด 3 บทเรียน

บทเรียน “ลิงก์ลิสต์” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน C Academy นี้ได้ไหม

ได้ บทเรียน C Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. ลิงก์ลิสต์
  2. สแตกและคิว
  3. ต้นไม้และกราฟ
← กลับไปที่ C Academy