Cấu trúc dữ liệu là tập hợp dữ liệu tổ chức có cấu trúc. Chia thành hai loại:
Cấu trúc dữ liệu tuyến tính - Dữ liệu tổ chức tuyến tính. Ví dụ: mảng, cấu trúc, ngăn xếp, hàng đợi, danh sách liên kết.
Cấu trúc dữ liệu phi tuyến tính - Dữ liệu tổ chức phân cấp. Ví dụ: Cây, đồ thị, tập hợp, bảng.
Hàng đợi
Cấu trúc dữ liệu tuyến tính, chèn ở cuối, xóa ở đầu.

Thứ tự hàng đợi: FIFO - First In First Out
Thao tác
- Chèn - Thêm phần tử vào hàng đợi.
- Xóa - Xóa phần tử khỏi hàng đợi.
Điều kiện
Tràn hàng đợi - Thêm vào hàng đợi đầy.
Thiếu hàng đợi - Xóa từ hàng đợi rỗng.
Thuật toán
Thuật toán chèn:
- Kiểm tra tràn hàng đợi.
if(r == n) printf("Hang doi tran")
- Nếu không, chèn phần tử.
q[r] = item; r++
Thuật toán xóa:
- Kiểm tra thiếu hàng đợi.
if(f == r) printf("Hang doi thieu")
- Nếu không, xóa phần tử.
item = q[f]; f++
Thuật toán hiển thị:
- Kiểm tra hàng đợi rỗng.
if(f == r) printf("Hang doi rong")
- Nếu không, in từ 'f' đến 'r'.
for(i = f; i < r; i++) printf("%d", q[i]);
Chương trình
Chương trình C xóa phần tử hàng đợi:
#include <stdio.h>
#define MAX 50
void insert();
int array[MAX];
int rear = -1;
int front = -1;
main(){
int add_item;
int choice;
while(1){
printf("1. Chen phan tu vao hang doi\n");
printf("2. Xoa phan tu khoi hang doi\n");
printf("3. Hien thi phan tu hang doi\n");
printf("4. Thoat\n");
printf("Nhap lua chon: ");
scanf("%d", &choice);
switch(choice){
case 1: insert(); break;
case 2: delete(); break;
case 3: display(); break;
case 4: exit(1);
default: printf("Lua chon sai\n");
}
}
}
void insert(){
int add_item;
if(rear == MAX - 1)
printf("Hang doi tran\n");
else{
if(front == -1)
front = 0;
printf("Chen phan tu vao hang doi: ");
scanf("%d", &add_item);
rear = rear + 1;
array[rear] = add_item;
}
}
void display(){
int i;
if(front == -1)
printf("Hang doi rong\n");
else{
printf("Hang doi la:\n");
for(i = front; i <= rear; i++)
printf("%d ", array[i]);
printf("\n");
}
}
void delete(){
if(front == -1 || front > rear){
printf("Hang doi thieu\n");
return;
} else {
printf("Phan tu xoa khoi hang doi: %d\n", array[front]);
front = front + 1;
}
}
Đầu ra
Kết quả chạy chương trình:
1. Chen phan tu hang doi 2. Xoa phan tu hang doi 3. Hien thi hang doi 4. Thoat Lua chon: 1 Chen: 12 ... Lua chon: 2 Xoa: 12 Hang doi: 23 34 ...