Cấu trúc dữ liệu là tập hợp dữ liệu được tổ chức theo một cách có cấu trúc. Nó được chia thành hai loại như được giải thích bên dưới -
-
Cấu trúc dữ liệu tuyến tính - Dữ liệu được tổ chức theo kiểu tuyến tính. Ví dụ:mảng, cấu trúc, ngăn xếp, hàng đợi, danh sách được liên kết.
-
Cấu trúc dữ liệu phi tuyến - Dữ liệu được tổ chức một cách phân cấp. Ví dụ:Cây, đồ thị, tập hợp, bảng.
Hàng đợi
Đây là một cấu trúc dữ liệu tuyến tính, trong đó việc chèn được thực hiện ở phía sau và việc xóa được thực hiện ở phía trước.
Thứ tự hàng đợi là FIFO - Nhập trước ra trước
Hoạt động
- Chèn - Chèn một phần tử vào hàng đợi.
- Xóa - Xóa một phần tử khỏi hàng đợi.
Điều kiện
-
Xếp hàng qua luồng - Cố gắng chèn một phần tử vào một hàng đợi đầy đủ.
-
Hàng đợi trong luồng - Đang cố gắng xóa một phần tử khỏi hàng đợi trống.
Thuật toán
Dưới đây là thuật toán cho insert () -
- Kiểm tra lỗi tràn hàng đợi.
if (r ==n) printf ("Tràn hàng đợi")
- Nếu không, hãy chèn một phần tử vào hàng đợi.
q [r] =itemr ++
Chương trình
Sau đây là chương trình C để chèn các phần tử trong hàng đợi -
#include#define MAX 50void insert (); int array [MAX]; int after =- 1; int front =- 1; main () {int add_item; int lựa chọn; while (1) {printf ("1. Chèn phần tử vào hàng đợi \ n"); printf ("2. Hiển thị các phần tử của hàng đợi \ n"); printf ("3 .Quit \ n"); printf ("Nhập lựa chọn của bạn:"); scanf ("% d", &choice); switch (lựa chọn) {case 1:insert (); phá vỡ; case 2:display (); phá vỡ; case 3:exit (1); default:printf ("Lựa chọn sai \ n"); }}} void insert () {int add_item; if (phía sau ==MAX - 1) printf ("Tràn Hàng \ n"); else {if (front ==- 1) / * If ban đầu hàng đợi trống * / front =0; printf ("Chèn phần tử vào hàng đợi:"); scanf ("% d", &add_item); phía sau =phía sau + 1; mảng [phía sau] =add_item; }} void display () {int i; if (front ==- 1) printf ("Hàng đợi trống \ n"); else {printf ("Hàng đợi là:\ n"); for (i =front; i <=after; i ++) printf ("% d", array [i]); printf ("\ n"); }}
Đầu ra
Khi chương trình trên được thực thi, nó tạo ra kết quả sau -
1.Chèn phần tử vào hàng đợi2. Hiển thị các phần tử của hàng đợi3. phần tử vào hàng đợi2.Hiển thị phần tử của hàng đợi3.