Компьютерийн шинжлэх ухаанд математикийн нэгжүүдийн шууд биелэл болох өгөгдлийн бүтцийн төрлүүдийн нэг бол олонлог юм. Тэдэнтэй хийх үйлдлүүд нь ихэвчлэн янз бүрийн алгоритмуудыг үндэслэдэг. Програмчлалын янз бүрийн хэлүүд олонлогийг дүрслэх өөрийн гэсэн арга хэрэгсэлтэй байдаг.
Шаардлагатай
- - хөгжлийн орчин;
- - сонгосон програмчлалын хэлнээс орчуулагч.
Зааварчилгаа
1-р алхам
Хэрэв боломжтой бол програмчлалын хэлийг ашиглан багцыг тодорхойлно уу. Жишээлбэл, Паскаль хэл дээр харгалзах төрлийг зарлах боломжийг олгодог багц бүтэц байдаг. Ийм багцуудын хэмжээ 256 элементээс хэтрэхгүй байх ёстой. Set type тунхаглалын жишээ дараах байдалтай байж болно:
төрөл
AZLetters = 'A'.. 'Z' багц;
AllLetters = char багц;
Олонлогийн төрлүүдийн хувьсагч ба тогтмолыг ердийн байдлаар зарладаг. Энэ тохиолдолд тохируулсан үсэгийг эхлүүлэхэд ашиглаж болно. Жишээлбэл:
const
LettersSet1: AZLetters = ['A', 'B', 'C'];
Алхам 2
Олонлогийг дүрслэхийн тулд стандарт номын сан эсвэл модулиудын чадварыг ашиглана уу. Тиймээс хөрвүүлэгчтэй нийлүүлэх ёстой C ++ загварын номын санд багцуудын ажиллагааг хэрэгжүүлэх багц контейнерийн загвар орно.
загвар <
ангийн түлхүүр, ангийн шинж чанар = бага, анги хуваарилагч = хуваарилагч
хичээлийн багц
Жагсаалтаас харахад багц загварын аргументууд нь: олонлогийн элементүүдийн өгөгдлийн төрөл, багц дахь элементүүдийн дарааллыг тодорхойлох функциональ объектын төрөл, санах ойн хуваарилагчийн төрөл.. Энэ тохиолдолд зөвхөн эхний аргумент шаардагдана (үлдсэн хоёр нь стандарт хоёртын урьдчилсан тооцоо бага, стандарт хуваарилагч нь анхдагчаар ашиглагддаг).
Алхам 3
Хэрэв байгаа бол багцтай ажиллах функцийг хэрэгжүүлдэг хүрээ боловсруулахад ашигладаг ангиуд эсвэл ангийн загварыг ашиглана уу. Ийм хэрэгслийн жишээ бол Qt номын сангийн QtCore модулийн QSet загварын анги юм. Түүний чадавхи нь өмнөх алхам дээр тайлбарласан STL багц савтай төстэй юм.
Алхам 4
Өөрийн хэрэгжүүлэх арга хэрэгслийг ашиглан багцыг дүрсэл. Энгийн ба жижиг хэмжээтэй элементүүдийн хувьд тогтмол урттай массивт хадгалагдсан битийн тугуудыг ашиглана уу. Нарийн төвөгтэй өгөгдлийн төрлүүдийн багц контейнер ангийг хэрэгжүүлэх. Үүний үндсэн дээр та ассоциатив эсвэл хэш ассоциатив массивын ажиллагааг авч болно. Энэ нь эргээд өөрийгөө тэнцвэржүүлэх хоёртын хайлтын мод (жишээлбэл, улаан хар мод) дээр үндэслэн барьж болно.