инициализации объектов 2 стека:Размещения и удаление элемента (ов) из объекта (стек)
Stack s1 = new Stack(), s2 = new Stack();
s1 = 0 0 0 0 0 0 0 0 0 0 (массив из 10 элементов Wich пуст, чтобы начать с) сверху: 0
const int Rows = 10;
int[] Table = new int[Rows];
public void TableStack(int[] Table)
{
for (int i=0; i < Table.Length; i++)
{
}
}
Мой вопрос заключается в том, как именно я могу поместить элемент в стек (толчок) или взять элемент из стека (POP) в следующем виде:
Нажмите:
s1.Push(5); // s1 = 5 0 0 0 0 0 0 0 0 0 (top:1)
s1.Push(9); // s1 = 5 9 0 0 0 0 0 0 0 0 (top:2)
Поп:
int number = s1.Pop(); // s1 = 5 0 0 0 0 0 0 0 0 0 0 (top:1) 9 got removed
Должен ли я использовать получить & множество, и если да, как именно я implent это с массивом? Не совсем уверен, что именно использовать для этого. Любые подсказки высоко оценены.
Программа использует следующий драйвер для тестирования класса Stack (которым не могут быть изменены или изменены):
public void ExecuteProgram()
{
Console.Title = "StackDemo";
Stack s1 = new Stack(), s2 = new Stack();
ShowStack(s1, "s1");
ShowStack(s2, "s2");
Console.WriteLine();
int getal = TryPop(s1);
ShowStack(s1, "s1");
TryPush(s2, 17);
ShowStack(s2, "s2");
TryPush(s2, -8);
ShowStack(s2, "s2");
TryPush(s2, 59);
ShowStack(s2, "s2");
Console.WriteLine();
for (int i = 1; i <= 3; i++)
{
TryPush(s1, 2 * i);
ShowStack(s1, "s1");
}
Console.WriteLine();
for (int i = 1; i <= 3; i++)
{
TryPush(s2, i * i);
ShowStack(s2, "s2");
}
Console.WriteLine();
for (int i = 1; i <= 6; i++)
{
getal = TryPop(s2);
//use number
ShowStack(s2, "s2");
}
}/*ExecuteProgram*/
С уважением.
Почему бы не использовать небольшую обертку вокруг списка <>? – kervin