Тема: Класи та об'єкти в С++
У мене є завдання: Створити клас – стек на основі одновимірного масиву цілих чисел. Визначити конструктор, деструктор, функції для додавання елемента до стеку та вилучення елемента зі стеку, обчислення кількості елементів у стеку, мінімального та максимального елемента.
Ось код:
#include<iostream>
using namespace std;
class STACK
{
private:
int* stack;
int count;
public:
STACK()
{
count = 0;
}
void add(int item)
{
int* point;
point = stack;
stack = new int[count + 1];
count++;
for (int i = 0;i < count - 1;i++)
stack[i] = point[i];
stack[count - 1] = item;
if (count > 1)
delete[]point;
}
int del()
{
if (count == 0)
return 0;
count--;
return stack[count];
}
int Head()
{
if (count == 0)
return 0;
return stack[count - 1];
}
~STACK()
{
if (count > 0)
delete[]stack;
}
int Count()
{
return count;
}
void Print()
{
int* p;
p = stack;
cout << "Stack:" << endl;
if (count == 0)
cout << "is empty." << endl;
for (int i = 0;i < count;i++)
{
cout << "Item[" << i << "]=" << *p << endl;
p++;
}
cout << endl;
}
};
int main()
{
STACK st;
st.Print();
st.add(2);
st.add(4);
st.add(15);
st.add(6);
st.add(23);
st.Print();
cout << "Count:" << st.Count()<<"\n" << endl;
int d;
d = st.del();
cout << "Delete item:" << d << endl;
st.Print();
return 0;
}
Зроблено майже все окрім визначення мінімального та максимального елемента. Де найдоцільніше шукати їх, в main() чи створювати функцію у класі? І як це правильно реалізувати?