Menu
Coddy logo textTech

תור דו־כיווני

שיעור 6 מתוך 23 בקורס C++ - ספריית התבניות הסטנדרטית של Coddy.

Deque הוא מכל רציף ב-C++ שמכונה גם תור דו-קצוות. בהמשך הקורס, בפרק על מתאמי מכלים, תלמד על תור רגיל. לעת עתה, חשוב לדעת שבתור רגיל מוסיפים איברים מהסוף ומסירים אותם מהחזית. לעומת זאת, ב-deque אפשר להוסיף ולהסיר איברים גם מהחזית וגם מהסוף.


ב-deque אפשר להוסיף ולהסיר איברים גם מהחזית וגם מהסוף.

נממש את מבנה הנתונים deque באמצעות הכללת הספרייה בראש קובץ ה-.cpp שלנו בעזרת #import <deque> (אפשר גם לגשת ל-deque על ידי הכללת קובץ הכותרת bits/stdc++.h)

לאחר מכן, ניצור deque באמצעות התחביר הבא:

deque<data_type> deque_name;

ראשית, משתמשים במילת המפתח deque. שנית, מציינים את סוג המשתנה שברצוננו לאחסן בתוך ה-deque, ולבסוף מציינים את שם המשתנה של ה-deque.

deque<int> numbers;

אפשר גם לאתחל deque בזמן ההכרזה עליו, באמצעות התחביר שבו השתמשנו עבור מבנה הנתונים vector:

deque<int> numbers = {1, 2, 3, 4, 5};

cout << numbers[0];
Output:
1

כדי להוסיף איבר לסוף ה-deque משתמשים בשיטה push_back(), וכדי להוסיף איבר לחזית משתמשים בשיטה push_front().

deque<int> numbers = {2, 3};

numbers.push_front(1);
numbers.push_back(4);

for(int i = 0; i < numbers.size(); i++)
	cout << numbers[i] << " ";
Output:
1 2 3 4

שיטות של Deque

שיטהתפקיד
push_back()מוסיפה איבר חדש לסוף
push_front()מוסיפה איבר חדש לחזית
pop_back()מסירה את האיבר מהסוף
pop_front()מסירה את האיבר מהחזית
size()מחזירה את מספר האיברים
empty()מחזירה האם ה-deque ריק
clear()מסירה את כל האיברים מה-deque
challenge icon

אתגר

קל

המשתמש יזין מספרים חיוביים עד שיזין ‎-1. יש לעבור על המספרים ולהוסיף כל אחד מהם ל-deque: את הראשון בהתחלה, את השני בסוף, את השלישי בהתחלה וכן הלאה... לאחר מכן, יש לעבור על ה-deque בלולאה ולהציג כל איבר, עם רווח אחד בין האיברים.

 

Input
5
10
15
20
25
30
-1
Output
25 15 5 10 20 30

נסו בעצמכם

#include <deque>
#include <iostream>

using namespace std;

int main()
{
    // Enter your code here

    return 0;
}

כל השיעורים ביחידה C++ - ספריית התבניות הסטנדרטית

תרגלו בעצמכם: קומפיילר C++ אונליין