Tài liệu học lập trình c cho người khiếm thị
  • 1. LỜI NÓI ĐẦU
    • Lời nói đầu
  • 2. BÀI HỌC LÝ THUYẾT
    • Bài 1. Giới thiệu về ngôn ngữ lập trình C
    • Bài 2. Cài đặt môi trường và viết chương trình đầu tiên
    • Bài 3. Biến và kiểu dữ liệu
    • Bài 4. Toán tử và biểu thức
    • Bài 5. Nhập và xuất trong C
    • Bài 6. Câu lệnh điều kiện rẽ nhánh
    • Bài 7. Vòng lặp
    • Bài 8. Mảng
    • Bài 9. Con trỏ
    • Bài 10. Hàm
    • Bài 11. Chuỗi
    • Bài 12. Các kiểu dữ liệu nâng cao và thuật toán sắp xếp
    • Bài 13. Quản lý tập tin
  • Bài tập nhỏ
    • Bài tập 1: Biến và kiểu dữ liệu
    • Bài tập 2: Toán tử và biểu thức
    • Bài tập 3: Nhập và xuất trong C
    • Bài tập 4: Câu lệnh điều kiện
    • Bài tập 5: Vòng lặp
    • Bài tập 6: Mảng
    • Bài tập 7: Con trỏ
    • Bài tập 8: Hàm
    • Bài tập 9: Chuỗi
    • Bài tập 10: Dữ liệu nâng cao và sắp xếp
    • Bài tập 11: Quản lý tập tin
  • Bài tập lớn
    • Bài tập 1: Quản lý sinh viên
    • Bài tập 2: Phần mềm quản lý thư viện
    • Bài tập 3: Chương trình quản lý danh bạ
  • 4. VÍ DỤ MINH HỌA
    • Ví dụ 1: Chương trình Hello World
    • Ví dụ 2: Máy tính đơn giản
    • Ví dụ 3: Kiểm tra số nguyên tố
    • Ví dụ 4: Đọc và ghi file trong C
    • Ví dụ 5: Sử dụng con trỏ trong C
    • Ví dụ 6: Quản lý sinh viên sử dụng struct
    • Ví dụ 7: Sắp xếp mảng bằng thuật toán Bubble Sort
    • Ví dụ 8: Đọc ghi file CSV
    • Ví dụ 9: Duyệt mảng bằng con trỏ
    • Ví dụ 10: Quản lý bộ nhớ động
    • Ví dụ 11: Sử dụng vòng lặp để xử lý dữ liệu
    • Ví dụ 12: Xử lý chuỗi bằng thư viện string.h
    • Ví dụ 13: Cấu trúc dữ liệu nâng cao
  • 5. PHỤ LỤC
    • phần I. Các hàm chuẩn trong thư viện C
    • phần II. Cấu trúc dữ liệu trong C
    • Phần III: Thuật toán cơ bản
    • Phần IV: Thuật ngữ lập trình
  • 6. THÔNG TIN TÀI LIỆU
    • thông tin tài liệu
Powered by GitBook
On this page
  • 1. Giới thiệu về cấu trúc dữ liệu
  • 2. Các loại cấu trúc dữ liệu trong C
  • a. Mảng (Array)
  • b. Chuỗi ký tự (String)
  • c. Cấu trúc (Struct)
  • d. Danh sách liên kết (Linked List)
  • e. Ngăn xếp (Stack) và Hàng đợi (Queue)
  • 3. Ứng dụng của cấu trúc dữ liệu
  • 4. Tổng kết
  1. 5. PHỤ LỤC

phần II. Cấu trúc dữ liệu trong C

1. Giới thiệu về cấu trúc dữ liệu

Cấu trúc dữ liệu là một phần quan trọng trong lập trình, giúp tổ chức và quản lý dữ liệu hiệu quả. Trong ngôn ngữ lập trình C, có nhiều loại cấu trúc dữ liệu khác nhau, mỗi loại phù hợp với một số bài toán cụ thể.

2. Các loại cấu trúc dữ liệu trong C

a. Mảng (Array)

  • Mảng là một tập hợp các phần tử cùng kiểu dữ liệu được lưu trữ liên tiếp trong bộ nhớ.

  • Truy cập các phần tử thông qua chỉ số (index).

  • Ví dụ khai báo mảng:

    int numbers[5] = {1, 2, 3, 4, 5};
  • Mảng có thể là một chiều, hai chiều hoặc nhiều chiều.

b. Chuỗi ký tự (String)

  • Chuỗi là một mảng các ký tự kết thúc bằng ký tự '\0'.

  • Sử dụng thư viện <string.h> để thao tác với chuỗi.

  • Ví dụ:

    char name[] = "Hello";
    printf("%s", name);

c. Cấu trúc (Struct)

  • Cấu trúc là một kiểu dữ liệu do người dùng định nghĩa, chứa nhiều biến khác nhau.

  • Ví dụ:

    struct Student {
        char name[50];
        int age;
        float gpa;
    };
  • Sử dụng để quản lý dữ liệu phức tạp.

d. Danh sách liên kết (Linked List)

  • Danh sách liên kết là một tập hợp các nút (node), mỗi nút chứa dữ liệu và con trỏ trỏ đến nút kế tiếp.

  • Giúp quản lý bộ nhớ động linh hoạt hơn mảng.

  • Ví dụ khai báo một nút:

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

e. Ngăn xếp (Stack) và Hàng đợi (Queue)

  • Ngăn xếp (Stack): Cấu trúc LIFO (Last In, First Out).

  • Hàng đợi (Queue): Cấu trúc FIFO (First In, First Out).

  • Có thể cài đặt bằng mảng hoặc danh sách liên kết.

  • Ví dụ sử dụng ngăn xếp:

    #define MAX 100
    int stack[MAX];
    int top = -1;

3. Ứng dụng của cấu trúc dữ liệu

  • Mảng: Lưu trữ danh sách cố định như điểm số, danh sách tên.

  • Chuỗi: Xử lý văn bản, mã hóa, giải mã.

  • Struct: Quản lý thông tin như sinh viên, nhân viên.

  • Danh sách liên kết: Quản lý dữ liệu động, bộ nhớ linh hoạt.

  • Stack: Hoàn tác (Undo), kiểm tra dấu ngoặc trong biểu thức.

  • Queue: Quản lý hàng đợi, xử lý đa luồng.

4. Tổng kết

Cấu trúc dữ liệu là nền tảng của lập trình, giúp giải quyết bài toán hiệu quả. Việc chọn cấu trúc phù hợp giúp tối ưu bộ nhớ và thời gian xử lý. Trong lập trình C, nắm vững các cấu trúc này là điều cần thiết để phát triển phần mềm mạnh mẽ.

Previousphần I. Các hàm chuẩn trong thư viện CNextPhần III: Thuật toán cơ bản

Last updated 2 months ago