Видео к уроку.
Код к уроку.
Стек 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;
}
