Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- namespace ConsoleApplication1
- {
- public abstract class Stack
- {
- public Stack()
- { }
- /// <summary>
- /// втолкнуть элемент item в стек
- /// </summary>
- /// <param name="item"></param>
- public abstract void put(int item);
- /// <summary>
- /// удалить элемент в вершине стека
- /// </summary>
- public abstract void remove();
- /// <summary>
- /// прочитать элемент в вершине стека
- /// </summary>
- public abstract int item();
- /// <summary>
- /// определить, пуст ли стек
- /// </summary>
- /// <returns></returns>
- public abstract bool IsEmpty();
- }
- public class Linkable
- {
- public Linkable()
- { }
- public int info;
- public Linkable next;
- }
- public class ListStack : Stack
- {
- public ListStack()
- {
- top = new Linkable();
- }
- Linkable top;
- /// <summary>
- /// втолкнуть элемент item в стек
- /// </summary>
- /// <param name="item"></param>
- public override void put(int item)
- {
- Linkable newitem = new Linkable();
- newitem.info = item;
- newitem.next = top;
- top = newitem;
- }
- /// <summary>
- /// удалить элемент в вершине стека
- /// </summary>
- public override void remove()
- {
- top = top.next;
- }
- /// <summary>
- /// прочитать элемент в вершине стека
- /// </summary>
- public override int item()
- {
- return (top.info);
- }
- /// <summary>
- /// определить, пуст ли стек
- /// </summary>
- /// <returns></returns>
- public override bool IsEmpty()
- {
- return (top.next == null);
- }
- public void TestStack()
- {
- ListStack stack = new ListStack();
- stack.put(7); stack.put(9);
- Console.WriteLine(stack.item());
- stack.remove(); Console.WriteLine(stack.item());
- stack.put(11); stack.put(13);
- Console.WriteLine(stack.item());
- stack.remove(); Console.WriteLine(stack.item());
- if (!stack.IsEmpty()) stack.remove();
- Console.WriteLine(stack.item());
- }
- }
- class Program
- {
- static void Main(string[] args)
- {
- ListStack l = new ListStack();
- l.TestStack();
- Console.ReadKey();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement