More Related Content
PPTX
PPTX
PDF
PPTX
PPSX
PDF
DOCX
ODP
What's hot
PPTX
PPTX
PDF
PPTX
U.cs101 алгоритм программчлал-2 PPTX
U.cs101 алгоритм программчлал-13 PPTX
PPTX
PPTX
PPTX
U.cs101 алгоритм программчлал-3 PDF
Олон хувьсагчтай функцийн нөхцөлт экстремум, интеграл PPTX
U.cs101 алгоритм программчлал-9 PPSX
PPTX
PDF
PDF
Лекц 7 (Давталтуудын Си хэлэнд) DOCX
PDF
11-р ангийн мэдээлэл зүйн тест PPTX
PPT
PDF
программ хангамжийн їндсэн ойлголт Similar to Өгөгдлийн бүтэц 11
PPTX
PPTX
PDF
u.cs101 "Алгоритм ба програмчлал" Лекц №7 PPTX
C++ vndsen oilgolt хичээл 1 PPTX
C++ vndsen oilgolt хичээл 1 PPT
DOCX
PPT
PDF
PPTX
DOCX
DOCX
PPTX
PPTX
PPTX
PPTX
PPTX
PPTX
PPTX
PPTX
More from International Ulaanbaatar University
PPT
PPTX
PPTX
PPTX
PPT
PPT
PPTX
PPT
PPT
PPTX
PPT
DOCX
Визуаль програмчлал бие даалт DOCX
PPT
PPT
PPT
PPT
PPTX
PPTX
PPT
Recently uploaded
PDF
Дадлага ажил, төсөлт сургалтаар бүтээгдэхүүн үйлдвэрлэх, борлуулах, материалы... PDF
УПК-ын Дипломын ажил бичих аргачлал 2025 PDF
УПК-ийн Мэдээллийн төв ашиглах журам 2025 PDF
Суралцагч, төгсөгчийн мэдлэг, ур чадвар, чадамжийг үнэлж, баталгаажуулах журам PDF
Мэдээлэл технологийн аюулгүй байдал хангах журам PDF
Техникийн боловсролын сургалтын дипломын ажил хамгаалах, үнэлэх журам Өгөгдлийн бүтэц 11
- 1.
- 2.
- 3.
Стекийг динамикаар
тодорхойлох шаардлага
Стекийг массиваар илэрхийлэх үед стекийн
хэмжээ нь тогтмол тодорхойлогддог тул хэмжээг
өөрчлөх боломжгүй юм.
Стект хадгалах өгөгдлийн хэмжээг мэдэж байгаа
тохиолдолд стекийг массив ашиглан нэвтрүүлэх
нь тохиромжтой.
- 4.
Стекийг динамикаар
тодорхойлох шаардлага
Харин стект хадгалагдах өгөгдлийн хэмжээг
урьдчилан мэдэх боломжгүй тохиолдолд стекийг
динамикаар зохион байгуулах буюу жагсаалтаар
илэрхийлэх шаардлагатай болно.
Ингэж стек өгөгдлийн бүтцийг динамикаар
зохион байгуулахад нэг холбоост жагсаалтыг
ашиглана.
- 5.
- 6.
- 7.
- 8.
Стект дараахгадаад
заагчуудыг тодорхойлж,
ашиглах шаардлагатай
1. Оройн элемэнтийг заагч.
Энэ заагчийн
тусламжтайгаар стект
хийгдэх үйлдлүүдийг
гүйцэтгэнэ.
Стекийг зохион байгуулах
45
67
33
TOP
- 9.
Стект элемэнт нэмэх–Push()
Стекээс элемэнт устгах– Pop()
Стек хоосон эсэхийг шалгах– IsEmpty()
Стекийг хоослох– MakeEmpty()
Стекийн оройн элемэнтийг буцаах– Last()
Стекийн хэмжээг буцаах – SizeOfStack()
Стекийн элемэнтүүдийг хэвлэх – Print()
Динамик стект
хийгдэх үйлдлүүд
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
void Stack::Push(const Typeitem){
if(IsEmpty()){
Node*curr= new Node(item, NULL);
Top=curr;
}
else{
Node*curr= new Node(item, Top);
Top=curr;
}
}
Динамик стект
элемэнт нэмэх
- 17.
- 18.
- 19.
- 20.
- 21.
- 22.
- 23.
- 24.
- 25.
- 26.
- 27.
- 28.
- 29.
- 30.
- 31.
- 32.
Стекийн хэрэглээ:
Арифметик илэрхийлэлбодох
Арифметик илэрхийллийг бодохдоо үйлдлийн
тэмдэгүүдийн гүйцэтгэгдэх дарааллыг
баримтлах ёстой.
Өөрөөр хэлбэл аливаа илэрхийллийг бодохдоо
өндөр зэрэглэл бүхий үйлдлээс эхлэн гүйцэтгэж,
үр дүнг нь санан дараачийн үйлдэлд ашиглах
замаар алхам алхамаар гүйцэтгэдэг.
- 33.
Стекийн хэрэглээ:
Арифметик илэрхийлэлбодох
Илэрхийлэлд олон янзын үйлдлүүд болон
давхар хаалтууд оролцохын хэрээр алхамын тоо
ихэсч, засварын утга нэмэгдэнэ.
Ийм илэрхийллийг бодох програмын алгоритмыг
зохиох хялбар биш байдаг.
Харин ийм илэрхийллийг хялбар бодох польш
тэмдэглээ гэсэн арга байдаг.
- 34.
Польш тэмдэглэгээ
Бидарифметик илэрхийллийг бичихдээ
үйлдлийн тэмдэгийг үйлдэлд оролцох
операндуудын дунд бичдэг. Илэрхийллийн йим
бичиглэлийг инфикс бичиглэл гэж нэрлэдэг.
Харин Польшийн нэгэн математикч арифметик
илэрхийлэл дэх үйлдлийн тэмдэгийг хоёр
операндынх нь ард /постфикс бичиглэл/ эсвэл
өмнө /префикс бичиглэл/ бичиж болох
хэлбэрийг олж харсан. Иймээс ийм бичиглэлийг
польш тэмдэглэгээ гэж нэрлэдэг.
- 35.
Польш тэмдэглэгээ
Илэрхийллийнпольш тэмдэглэгээнд хаалт
ашигладаггүй бөгөөд үйлдлийн тэмдэгийн
байрлалаар гүйцэтгэгдэх дараалал нь
тодорхойлогддог.
Префикс болон постфикс бичиглэл бүхий
илэрхийллийн засврын утгуудыг стект хадгалан,
илэрхийллийг зөвхөн нэг удаа уншин хялбар
аргаар бодож болно.
- 36.
Арифметик илэрхийллийг бодох
Арифметик илэрхийллийг хялбар аргаар бодох
алгоритм нь дараах хоёр алхамаас тогтоно:
Илэрхийллийг польш тэмдэглэгээнд
хөрвүүлэх
Илэрхийллийг бодох
Аль ч алхамд стек үндсэн үүрэг гүйцэтгэнэ.
- 37.
Илэрхийллийг польш
тэмдэглэгээнд хөрвүүлэх
Өгөгдсөн илэрхийлэл Q нь ердийн буюу префикс
бичиглэл илэрхийлэл байна.
Уг илэрхийлэл нь операнд, оператороос гадна
хаалт агуулж болно.
Операторуудын гүйцэтгэгдэх дараалал нь:
1. Зэрэг дэвшүүлэх
2. Үржих ба хуваах
3. Нэмэх ба хасах
Ижил зэрэглэл бүхий үйлдлүүд нь илэрхийлэлд
орсон дарааллаараа гүйцэтгэгдэнэ.
- 38.
Илэрхийллийг польш
тэмдэглэгээнд хөрвүүлэх
Дараах алгоритмаар Q арифметик илэрхийллээс
польш тэмдэглэгээнд хөрвөсөн Р илэрхийллийг
гаргаж авна.
Энэ алгоритм нь хаалт болон операторуудыг түр
хадгалах стек ашиглана.
Илэрхийллийг хөрвүүлж дууссаны дараа стек
хоосон болно.
- 39.
Илэрхийллийг польш тэмдэглэгээнд
хөрвүүлэхалгоритмын зарчим
1. Q илэрхийллийг эхлэлээс нь төгсгөл хүртэл
элемэнт бүрээр стек хоосон болтол уншихдаа
дараах 2-5 алхамуудыг давтан гүйцэтгэнэ.
2. Хэрэв уншигдсан элемэнт нь операнд бол Р
илэрхийллийн төгсгөлд нэмнэ
3. Хэрэв уншигдсан элемэнт нь нээх хаалт бол
стект хийнэ.
- 40.
Илэрхийллийг польш тэмдэглэгээнд
хөрвүүлэхалгоритмын зарчим
4. Хэрэв уншигдсан элемэнт нь оператор бол
a. Уг уншигдсан оператортой ижил болон их
зэрэглэлтэй бүх операторуудыг стекийн
оройгоос авч P илэрхийлэлд нэмнэ
b. Уг уншигдсан операторыг стект нэмнэ
5. Хэрэв уншигдсан элемэнт нь хаах хаалт бол
a. Нээх хаалт тааралдтал стекийн оройгоос
операторуудыг авч P илэрхийлэлд нэмнэ
b. Нээх хаалтыг стекээс гаргана.
- 41.
- 42.
- 43.
- 44.
- 45.
- 46.
- 47.
- 48.
- 49.
- 50.
- 51.
- 52.
- 53.
- 54.
- 55.
- 56.
- 57.
- 58.
- 59.
- 60.
- 61.
- 62.
- 63.
- 64.
- 65.
- 66.
- 67.
- 68.
- 69.
- 70.
- 71.
- 72.
Польш тэмдэглэгээнд хөрвөсөн
илэрхийллийгбодох
Р илэрхийллийг польш тэмдэглэгээнд хөрвөсөн
илэрхийлэл гэж үзвэл илэрхийллийг бодохдоо дараах
алхамуудыг гүйцэтгэнэ.
1. Р илэрхийллийг эхлэлээс төгсгөл хүртэл уншихдаа 2
ба 3-р алхамуудыг гүйцэтгэнэ.
2. Хэрэв операнд бол стект хийнэ.
3. Хэрэв оператор бол стекийн оройгоос 2 элемэнт
авч, тэдгээрт уг операторын үйлдлийг гүйцэтгэн үр
дүнг стект хийнэ.
4. Р илэрхийллийн төгсгөлд хүрснээр бодолт дуусах
бөгөөд стек дэх элемэнт нь Р илэрхийллийн эцсийн
хариу болно. Энэ үед стект гахц элемэнт байх
болно.