Skip to main content

Posts

Stack

Stack-ын тухай. stack гэж юу вэ гэвэл энэ нь нэгэн төрлийн массив ба энэ массив нь арай өөр бүтэцтэй. Queue-тэй төстэй. Бид энэ массивт элемэнт нэмж мөн хамгийн ард талын элемэнтийг устгаж мөн мэдэж чадах юм. Мөн эдгээр үйлдлийг 1 үйлдлээр хийдэг. бид stack-ын 2 дахь элемэнт 3 гэх мэт   элемэнтийг мэдэж чадахгүйг анхаарах хэрэгтэй. Доорхи код энэ хаягдээр байгаа. // Stack-ын талаар үзэх болно.    #include <iostream> // cin, cout гэх мэт функцийг агуулдаг сан    #include <stack> // stack-г агуулдаг сан.    using   namespace  std;       int  main() {        /*           stack гэж юу вэ гэвэл энэ нь бас нэгэн төрлийн массив         ...

Queue

Queue-ын тухай. queue гэж юу вэ гэвэл энэ нь нэгэн төрлийн массив ба энэ массив нь арай өөр бүтэцтэй. Бид үүнд элемэнт нэмж мөн хамгийн урд талын элемэнтийг мэдэж бас устгаж чадах юм. Мөн эдгээр үйлдлийг 1 үйлдлээр хийдэг. Үүнийг бид вектор ашиглан хийж болох ч хамгийн эхний элемэнтийг устгахад олон үйлдэл хийх болно. хугацааны хувьд удаан. Мөн энгийн массиваар бичиж болно. Гэхдээ queue-г ашиглах нь бичиглэлийн хувьд илүү амар Саяны бичсэнчлэн бид queue-ын 2 дахь элемэнт 3 гэх элемэнтийг мэдэж чадахгүйг анхаарах хэрэгтэй. Энэ хаяг дээр доорхи код байгаа. // Queue-ын талаар үзэх болно.    #include <iostream> // cin, cout гэх мэт функцийг агуулдаг сан    #include <queue> // queue-г агуулдаг сан.    using   namespace  std;       int  main() {        /*     ...

String

String-н тухай. Мөн cin, cout. String гэж юу вэ? энэ нь хэмжээгээ өөрчилж чаддаг тэмдэгт төрлийн утга авдаг массив гэж хэлж болно. char a[2000] гэвэл 2000 хүртэлх л тэмдэгтийг агуулж чадна. Харин string a; гэвэл энэ нь өөрийн уртыг өөрчилж чадна. Тэгээд доорхи код энэ хаяг дээр байгаа. Мөн ард нь үг нэмэх мөн 2 тэмдэгтийг ижил эсэхийг шалгах гэх мэт үйлдлүүдэд char-ын массиваас илүү амар юм. Бид char төрлийн массиваар 2 тэмдэгтийг ижил эсэхийг шалгавал индекс бүр дэх үсэг бүрийг ижил эсэхийг шалгана. Харин string төрөлд бол ТэмдэгтМөр1 == ТэмдэгтМөр2 гэхэд л хангалттай. Мөн ард нь элемэнт нэмэхэд  ТэмдэгтМөр = ТэмдэгтМөр + ТэмдэгтМөр1; гэхэд л болно. Гэхдээ char төрөлд ард нь нэмдэг функц байгаа. string a = ""; хоосон болгох a = "aBg"; // a гэдэг тэмдэгт мөр aBg болгож байна. a += "123123"; // 123123 гэсэн тэмдэгт мөрийг нэмж байна. cout << a[0] << endl; // 0р элемэнтийг хэвлэх. // Энэ удаад string гэх зүйлийн талаар үзэ...

vector

VECTOR-ын тухай. vector гэдэг нь хэмжээгээ өөрчилж чаддаг массив гэж хэлж болно. Өөрөөр хэлбэл бид int a[2000] гэвэл a гэсэн массив нь 2000 ширхэг л элемэнт агуулах боломжтой юм. гэвч бид 247143 ширхэг элемэнт аль эсвэл 247 ширхэг элемэнт гэх мэт дурын хэмжээтэй мөн яг ямар хэмжээг нь мэдэхгүй тохиолдолд заавал энгийн массивыг int a[3000000] гэж зарлахад хүрнэ. Гэвч бид ердөө 247 ширхэг л тоо хадгалах хэрэгтэй тохиолдолд үлдсэн хэсэг нь ямар ч ашиггүй зүгээр л санах ойг дүүргэж байна. Харин vector-ын хувьд бол vector<төрөл> v; гэж зарлах ба энэ нь анх хоосон байх ба бид зөвхөн ашиглах элемэнтээ л хийж өгөхөд болно гэсэн үг юм. Мөн vector-т ашиглахад хялбар болгодог олон функц байдаг ба элемэнт устгах мөн элемэнт хүссэн байрлалдаа нэмэх гэх мэт. Тэгээд энэ хаяг дээр доорх код байгаа. // Энэ удаад vector-ын талаар үзэх болно    #include <cstdio>    #include <vector> // vector ашиглахын...