Yarim-statik tuzilmalar Navbat va undagi amallar. Navbatlarni tasvirlash. Dek va undagi amallar
Full(S) Stekdagi asosiy algoritmlar
Download 380.16 Kb.
|
10 мавзуStek, navbat va dek Stek, navbat va deklarni massiv yordamida
Full(S)Stekdagi asosiy algoritmlarFaraz qilaylik, stek bir o’lchamli massiv ko’rinishida ifodalangan bo’lib uning uzunligi max_st ga teng bo’lsin, ya’ni stack[max_st]. Bu yerda t – stek uchi, x esa biror turga tegishli element.void Push(int t, BT x) {if (t= =max_st) exit(1);stack[t]=x;t++; }void Empty(int t) {if (t= =0) p=1;else p=2; }void Remove(int t) {if (t= =0) exit(1);t--; }STEK (LIFO) tuzilmasiga misol
STEK tuzilmasi ustida bajariladigan asosiy amallar:
STEK ni massiv orqali tavsiflash#include using namespace std;#define MAX 1000 //STEK uchun MAX uzunlikclass Stack {int top;public:int myStack[MAX]; //massiv STEKIStack() { top = -1; }bool push(int x);int pop();bool isEmpty(); }; //STEKka element qo'shishbool Stack::push(int item) {if (top >= (MAX-1)) {cout << "STEK to\'ldi!!!";return false; }else { myStack[++top] = item; cout<return true; } }//STEKdan elementni chiqarish yoki o'chirishint Stack::pop() {if (top < 0) {cout << "STEK !!";return 0; }else { int item = myStack[top--];return item; } }//STEKni bo'shliqqa tekshirishbool Stack::isEmpty() {return (top < 0); }// STEK funksiyasiint main() {class Stack stack; cout<<"STEK ga elementlar qo'shish "<stack.push(2);stack.push(4);stack.push(6); cout<<"STEK elementlari : "<while(!stack.isEmpty()) { cout<return 0; }STEKni ro’yxat yordamida tavsiflash#include using namespace std;class StackNode {public:int data;StackNode* next; };StackNode* newNode(int data) {StackNode* stackNode = new StackNode();stackNode->data = data;stackNode->next = NULL;return stackNode; }int isEmpty(StackNode *root) { return !root; }void push(StackNode** root, int new_data){StackNode* stackNode = newNode(new_data);stackNode->next = *root;*root = stackNode; cout<int pop(StackNode** root){if (isEmpty(*root))return -1;StackNode* temp = *root;*root = (*root)->next;int popped = temp->data; //free(temp);return popped; }int peek(StackNode* root) { if (isEmpty(root))return -1;return root->data; }int main() {StackNode* root = NULL; cout<<"STEKga qo\'shish (Push): "<push(&root, 100);push(&root, 200);push(&root, 300); cout<<"\nSTEKning Top elementi: "<
Download 380.16 Kb. |
while(!isEmpty(root)){
cout<
return 0; }
Mavzu bo’yicha nazorat savolari
- Ro’yxat deb nimaga aytiladi?
- Ro’yxat turlarini aytib o’ting.
- Navbat bilan stek qanday ma’lumotlar tuzilmasiga kiradi?
- Stekdan elementni tanlash qanday amalga oshiriladi?
- Qanday xizmat ko’rsatish turiga FIFO, qaysi biriga LIFO deb ataladi?
- Navbat turlarini keltirib o’ting.
- Dekning o’ziga xosligi nimadan iborat?
Adabiyotlar
- Алфред В. Ахо., Джон Э. Хопкрофт, Джефри Д. Ульман. Структура данных и алгоритмы. //Учеб.пос., М.: Изд.дом: "Вильямс", 2000, — 384 с.
- Adam Drozdek. Data structures and algorithms in C++. Fourth edition. Cengage Learning, 2013.
- Бакнелл Джулиан М. Фундаментальные алгоритмы и структуры данных в Delphi//СПб: ООО «ДиаСофтЮП», 2003. 560с.
- Narzullaev U.X., Qarshiev A.B., Boynazarov I.M. Ma’lumotlar tuzilmasi va algoritmlar. //O’quv qo’llanma. Toshkent: Tafakkur nashriyoti, 2013 y. – 192 b.
- Лойко В.И. Структуры и алгоритмы обработки данных. Учебное пособие для вузов. - Краснодар: КубГАУ. 2000. - 261 с., ил.
Mustaqil ishlash uchun topshiriqlar:
- Statik va yarimstatik tuzilmalar ustida bajariladigan amallarni o’rganish
- Izoh: dars mashg’ulotida berilgan bilimlarga qo’shimcha ma’lumotlarni to’plash-konspekt qilish
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling