Queue là gì

Stack với Queue đầy đủ là các kết cấu dữ liệu ko nguyên ổn tbỏ (non-primitive). Sự khác hoàn toàn lớn số 1 thân Stack cùng QueueStack áp dụng cách thức LIFO (last in first out) nhằm truy vấn và thêm các thành phần tài liệu trong những lúc Queue áp dụng cách làm FIFO (First in first out) nhằm truy cập với thêm những phần tử tài liệu.

Bạn đang xem: Queue là gì

Stack chỉ có một đầu mlàm việc nhằm pushing cùng popping những phần tử dữ liệu, còn Queue có cả nhị đầu mnghỉ ngơi nhằm enqueuing và dequeuing các phần tử dữ liệu.

StackQueue là những kết cấu tài liệu được sử dụng nhằm tàng trữ các nhân tố tài liệu với nó dựa vào một số các ví dụ gồm thực vào cuộc sống đời thường hàng ngày của chúng ta. lấy ví dụ như, Stack là 1 trong ông xã đĩa CD, chỗ chúng ta cũng có thể lấy ra và đưa vào tô CD thông qua đỉnh của ngăn uống xếp đĩa CD. Tương từ bỏ, Queue là mặt hàng đợi cho những vé của Nhà hát khu vực bạn đứng tại vị trí đầu tiên, tức thị, vùng phía đằng trước mặt hàng hóng sẽ được ship hàng trước với tín đồ bắt đầu mang đến vẫn mở ra sống vùng sau hàng chờ.

Bảng so sánh

Cơ sở nhằm so sánhSTACKQUEUE
Nguyên tắc làm việcLIFO (Last in First out)FIFO (First in First out)
StructureDùng một đầu nhằm cyếu với xóa những bộ phận dữ liệuCó 2 đầu để cách xử trí dữ liệu, một đầu chèn một đầu xóa
Số nhỏ trỏ được sử dụngMộtHai (Trong trường hợp 1-1 giản)
Hoạt cồn được thực hiệnPush cùng PopEnqueue và dequeue
Kiểm tra empty conditionTop == -1Front == -1
Examination full conditionTop == Max - 1Rear == Max - 1
Biến thểKhông tất cả trở thành thểNó tất cả những biến thể nhỏng hàng ngóng tròn, mặt hàng hóng ưu tiên, hàng chờ kết thúc gấp đôi.
Thực hiệnĐơn giảnTương đối phức tạp

Định nghĩa về Staông xã.

Stack là một trong những các loại cấu trúc tài liệu tuyến đường tính ko nguyên ổn tdiệt. Nó là một list được bố trí trong số ấy các thành phần được chế tạo hoặc xóa đi chỉ ở 1 đầu của list, được hotline là đỉnh của ngăn xếp (TOS). Vì tất cả câu hỏi xóa và chèn vào ngăn xếp được tiến hành từ trên đầu ngnạp năng lượng xếp, phần tử sau cùng được tiếp tế đã là bộ phận đầu tiên được xóa sổ ngăn uống xếp. Đó là nguyên nhân vì sao ngnạp năng lượng xếp được điện thoại tư vấn là một số loại list Last-in-First-out (LIFO).

*

Ví dụ:Quý Khách có một hộp bánh và chỉ còn có một đầu để mang bánh ra, bạn chỉ rất có thể rước từng mẫu ra bằng đầu này ( cái này Gọi là popping). Tương tự, bạn có nhu cầu chứa số bánh đã mang thừa, bạn chỉ rất có thể đựng từng cái bánh vào hộp thông qua đầu này (Hotline là pushing).

Định nghĩa về Queue.

Xem thêm: Hướng Dẫn Sử Dụng Convertxtodvd 6, Convertxtodvd

Queue là một nhiều loại kết cấu tài liệu tuyến tính ở trong các loại ko nguim tbỏ. Nó là một trong những tập thích hợp những các loại nguyên tố tương tự như. Việc bổ sung cập nhật các yếu tố mới diễn ra ở 1 đầu được Hotline là Rear-end. Tương từ như vậy, vấn đề xóa những phần tử hiện tại gồm ra mắt ở đầu kia được Điện thoại tư vấn là Front-kết thúc.

*

Ví dụ: Nó giống như bài toán bạn sếp sản phẩm để sở hữ vé xem phyên ổn, người mang đến trước sẽ được phục vụ trước tín đồ cho sau bắt buộc đứng vào thời điểm cuối sản phẩm chờ đợi để được phục vụ.

Thực hiện tại Stack

Staông chồng có thể thực hiện theo 2 cách:

Static implementation (xúc tiến tĩnh) áp dụng mảng nhằm tạo stack. Triển knhì tĩnh mang dù cho là một kỹ thuật dễ dàng nhưng lại chưa hẳn là cách tạo thành linh hoạt, bởi vì bài toán knhị báo form size của ngăn uống xếp đề nghị được triển khai trong quy trình xây cất công tác, sau đó size quan trọng biến đổi. Hình như, xúc tiến tĩnh không hiệu quả lắm so với câu hỏi áp dụng bộ lưu trữ. Vì một mảng (nhằm triển khai ngnạp năng lượng xếp) được khai báo trước khi ban đầu chuyển động (tại thời khắc xây cất chương trình).Bây giờ nếu như con số bộ phận được sắp xếp siêu ít trong ngăn uống xếp, bộ nhớ được phân chia tĩnh sẽ bị lãng phí. Mặt không giống, trường hợp có khá nhiều số bộ phận được lưu trữ trong ngnạp năng lượng xếp thì họ cần yếu thay đổi kích thước của mảng nhằm tăng dung tích của nó, để nó rất có thể chứa những phần tử bắt đầu.Dynamic implementation(thực thi động) cũng được Hotline là màn biểu diễn danh sách được liên kết với thực hiện những bé trỏ để tiến hành vẻ bên ngoài ngăn xếp của cấu trúc dữ liệu.

Thực hiện Queue

Static implementation (thực thi tĩnh): Nếu sản phẩm ngóng được tiến hành bởi mảng, số lượng thành phần đúng chuẩn cơ mà công ty chúng tôi mong lưu trữ vào sản phẩm hóng đề xuất được bảo vệ trước, chính vì size của mảng đề nghị được knhì báo tại thời khắc xây cất hoặc trước lúc quy trình xử lý ban đầu.Trong trường phù hợp này, phần đầu của mảng đã đứng trước của sản phẩm chờ và địa chỉ sau cuối của mảng vẫn nhập vai trò là phía đằng sau của sản phẩm ngóng. Mối quan hệ giới tính tiếp sau đây cung cấp đến toàn cục các phần tử mãi mãi vào sản phẩm đợi Lúc được thực hiện bằng cách thực hiện những mảng.

Dynamic implementation(triển khai động): thực hiện các sản phẩm ngóng bằng cách sử dụng các bé trỏ, điểm yếu chính là một nút ít trong màn trình diễn được link đang tốn không ít không gian bộ nhớ rộng 1 phần tử khớp ứng trong biểu diễn mảng.Vì có ít nhất nhì trường trong mỗi nút một mang đến ngôi trường tài liệu với ngôi trường khác để giữ ảnh hưởng của nút tiếp sau trong những lúc trong biểu diễn chỉ gồm ngôi trường dữ liệu là tất cả. Công dụng của bài toán thực hiện biểu diễn được link trsinh sống đề xuất cụ thể Lúc được đòi hỏi ckém hoặc xóa một phần tử chính giữa một nhóm những phần tử không giống.

Xem thêm: Nghĩa Của Từ Poor Là Gì ? Định Nghĩa, Ví Dụ, Giải Thích Nghĩa Của Từ Poor, Từ Poor Là Gì

Hoạt rượu cồn bên trên Stack

Các hoạt động cơ bạn dạng hoàn toàn có thể được quản lý trên ngnạp năng lượng xếp nhỏng sau:

PUSH : Lúc một phần tử new được cung ứng đầu ngăn xếp được điện thoại tư vấn là vận động PUSH. Đẩy một trong những phần tử trong ngăn xếp Hotline thêm phần tử, do bộ phận bắt đầu sẽ được cyếu sống trên cùng. Sau mỗi chuyển động đẩy, đỉnh được tạo thêm một. Nếu mảng đầy, và không có bộ phận bắt đầu làm sao hoàn toàn có thể được phân phối, nó được call là điều kiện STACK-FULL hoặc STACK OVERFLOW.Sử dụng push trong C

int stack <5>, top = -1; void push() { int item; if (top POP : khi một trong những phần tử bị xóa bỏ đầu ngăn xếp, nó được call là hoạt động POP.. Ngăn xếp được sụt giảm một, sau từng chuyển động pop. Nếu không thể bộ phận như thế nào trên ngăn uống xếp và pop được tiến hành, thì vấn đề đó đã dẫn đến điều kiện STACK UNDERFLOW, điều ấy Tức là ngăn uống xếp của người tiêu dùng trống.Sử dụng pop vào C

int stack <5>, top = -1;void pop() int item;if (top >= 4) tác phẩm = stack ; top = top - 1; printf ("Number deleted is = %d", item) ;else printf (" Staông xã is empty");

Hoạt đụng trên Queue

Các hoạt động cơ bản có thể được thực hiện trên hàng hóng là:

Enqueue : Để chèn một phần tử vào sản phẩm đợiSử dụng Enqueue trong C:

int queue <5>, Front = -1 & rear = -1; void add () { int item; if ( rear Dequeue : Để xóa một trong những phần tử vào mặt hàng đợiSử dụng Dequeue vào C: int queue <5>, Front = -1 và rear = -1; void delete () int item; if ( front != -1) tác phẩm = queue < front >; if (front == rear) front =-1; rear =-1; else front = front + 1; printf ("Number deleted is = %d", item); else printf ("Queue is empty");

Kết luận

do vậy Stack cùng Queue là các kết cấu tài liệu đường tính khác biệt theo các bí quyết nhất thiết như lý lẽ thao tác, cấu tạo, phương pháp triển khai, những vươn lên là thể tuy thế cả hai rất nhiều được áp dụng nhằm lưu trữ những bộ phận vào danh sách và tiến hành những làm việc trong list nlỗi thêm cùng xóa các phần tử.


Chuyên mục: Kiến Thức