Queue-ын тухай.
queue гэж юу вэ гэвэл энэ нь нэгэн төрлийн массив ба энэ массив нь арай өөр бүтэцтэй. Бид үүнд элемэнт нэмж мөн хамгийн урд талын элемэнтийг мэдэж бас устгаж чадах юм. Мөн эдгээр үйлдлийг 1 үйлдлээр хийдэг. Үүнийг бид вектор ашиглан хийж болох ч хамгийн эхний элемэнтийг устгахад олон үйлдэл хийх болно. хугацааны хувьд удаан. Мөн энгийн массиваар бичиж болно. Гэхдээ queue-г ашиглах нь бичиглэлийн хувьд илүү амар Саяны бичсэнчлэн бид queue-ын 2 дахь элемэнт 3 гэх элемэнтийг мэдэж чадахгүйг анхаарах хэрэгтэй. Энэ хаяг дээр доорхи код байгаа.
- // Queue-ын талаар үзэх болно.
- #include <iostream> // cin, cout гэх мэт функцийг агуулдаг сан
- #include <queue> // queue-г агуулдаг сан.
- using namespace std;
- int main() {
- /*
- queue гэж юу вэ гэвэл энэ нь бас нэгэн төрлийн массив
- ба энэ массив нь арай өөр бүтэцтэй. Бид энэ массивт
- элемэнт нэмж мөн хамгийн урд талын элемэнтийг устгаж,
- мөн мэдэж чадах юм. Мөн эдгээр үйлдлийг 1 үйлдлээр
- хийдэг. Үүнийг бид вектор ашиглан хийж болох ч урд
- талын элемэнтийг устгахад олон үйлдэл хийх болно. Тиймээс
- хугацааны хувьд удаан. Харин энгийн массиваар бичиж болно.
- Гэхдээ үүнийг ашиглах нь бичиглэлийн хувьд илүү амар юм.
- Саяны бичсэнчлэн бид queue-ын 2 дахь элемэнт 3 гэх мэт
- элемэнтийг мэдэж чадахгүйг анхаарах хэрэгтэй.
- */
- queue <int> q; // int төрлийн утга авах q гэсэн нэртэй
- // queue ба анх хоосон байгаа.
- q.push( 12 ); // хамгийн ард нь элемэнт нэмж байна.
- q.push( 23 ); // хамгийн ард нь элемэнт нэмж байна.
- q.push( -2 ); // хамгийн ард нь элемэнт нэмж байна.
- int k = q.front(); // k-д queue байгаа хамгийн урд талын
- // элемэнтийн утгыг оноож байна.
- cout << k << endl; // хэвлэх
- q.pop(); // хамгийн урд талын элемэнтийг устгах.
- k = q.size(); // одоо байгаа элемэнтийн тоо.
- cout << k << endl;
- k = q.front(); // k-д queue байгаа хамгийн урд талын
- // элемэнтийн утгыг оноож байна.
- cout << k << endl;
- return 0;
- }
ok, good luck. Үргэлжлүүлээд байгаарай.
ReplyDelete