Прямо сейчас я создаю класс стека. Основная программа:
class Program
{
static void Main(string[] args)
{
Queue myQue = new Queue(5);
Stack myStack = new Stack(5);
myStack.Push(1);
myStack.Push(2);
myStack.Push(3);
myStack.Push(4);
myStack.Push(5);
myStack.Push(6);
while (!myStack.IsEmpty)
{
Console.WriteLine(myStack.Pop());
}
Console.WriteLine(myStack.Pop());
Console.WriteLine("End of Stack");
}
}
Тогда класс стека выглядит следующим образом:
class Stack
{
private int top;
private int[] anArray;
public bool IsFull
{
get
{
return top == anArray.Length - 1;
}
}
public bool IsEmpty
{
get
{
return top == -1;
}
}
public void Push(int valueToPush)
{
if (IsFull)
{
//do nothing
}
else
{
anArray[top] = valueToPush;
top = top + 1;
}
}
public int Pop()
{
if (IsEmpty)
{
//do nothing
return
}
else
{
int pop = anArray[top];
top = top -1;
return pop;
}
}
}
Проблемы, с которыми я сталкиваюсь, заключаются в том, что мне ничего не нужно возвращать, если оно пустое, но оно не позволит мне вернуть NULL из-за типа int.
Тогда я думаю, что либо пропустил, либо не понял, что такое "Конструктор". Я понимаю, что когда я создаю экземпляр "Stack myStack = new Stack (5);" Что он посылает класс стека "5", но как мне получить эти 5 в классе стека в массив?