Видео к уроку.
Код к уроку.
Стек FIFO
// ConsoleApplication3.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include <iostream> using namespace std; //пример реализации стека FIFO int pop(int *product, int &pos)//извлекать товары { if (pos == 0) { cout << "stack empty"; return -1; } pos--; int ret=product[0]; for (int i = 1; i <= pos; i++) { product[i - 1] = product[i]; } return ret; } void push(int item, int *product, int &pos)//помещаем в массив { if (pos == 99) { cout << "stack overflow"; return; } product[pos] = item; pos++; } int main() { int pos = 0; int product[100]; push(10, product, pos); push(11, product, pos); push(12, product, pos); cout << pop(product, pos) << "\n"; cout << pop(product, pos) << "\n"; cout << pop(product, pos) << "\n"; int a; cin >> a; return 0; }
Стек LIFO
// ConsoleApplication3.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include <iostream> using namespace std; //пример реализации стека LIFO int pop(int *product, int &pos)//извлекать товары { if (pos ==0) { cout << "stack empty"; return -1; } pos--; product[pos]; return product[pos]; } void push(int item, int *product, int &pos)//помещаем в массив { if (pos == 99) { cout << "stack overflow"; return; } product[pos] = item; pos++; } int main() { int pos = 0; int product[100]; push(10, product, pos); push(11, product, pos); push(12, product, pos); cout << pop(product, pos)<<"\n"; cout << pop(product, pos) << "\n"; cout << pop(product, pos) << "\n"; int a; cin >> a; return 0; }