Computer >> Máy Tính >  >> Lập trình >> lập trình C

Các phần tử chèn trong hàng đợi trong ngôn ngữ C là gì?

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.

Các phần tử chèn trong hàng đợi trong ngôn ngữ C là gì?

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.