Run Code
|
API
|
Code Wall
|
Misc
|
Feedback
|
Login
|
Theme
|
Privacy
|
Patreon
vera
Language:
Ada
Assembly
Bash
C#
C++ (gcc)
C++ (clang)
C++ (vc++)
C (gcc)
C (clang)
C (vc)
Client Side
Clojure
Common Lisp
D
Elixir
Erlang
F#
Fortran
Go
Haskell
Java
Javascript
Kotlin
Lua
MySql
Node.js
Ocaml
Octave
Objective-C
Oracle
Pascal
Perl
Php
PostgreSQL
Prolog
Python
Python 3
R
Rust
Ruby
Scala
Scheme
Sql Server
Swift
Tcl
Visual Basic
Layout:
Vertical
Horizontal
//Rextester.Program.Main is the entry point for your code. Don't change it. //Compiler version 4.0.30319.17929 for Microsoft (R) .NET Framework 4.5 using System; namespace Rextester { public class FixedStack<T> { private T[] items; // элементы стека private int count; // количество элементов const int n = 10; // количество элементов в массиве по умолчанию public FixedStack() { items = new T[n]; } public FixedStack(int length) { items = new T[length]; } // пуст ли стек public bool IsEmpty { get { return count == 0; } } // размер стека public int Count { get { return count; } } // добвление элемента public void Push(T item) { // если стек заполнен, выбрасываем исключение if (count == items.Length) throw new InvalidOperationException("Переполнение стека"); items[count++] = item; } // извлечение элемента public T Pop() { // если стек пуст, выбрасываем исключение if (IsEmpty) throw new InvalidOperationException("Стек пуст"); T item = items[--count]; items[count] = default(T); // сбрасываем ссылку return item; } // возвращаем элемент из верхушки стека public T Peek() { return items[count - 1]; } } public class Program { public static void Main(string[] args) { try { FixedStack<string> stack = new FixedStack<string>(8); // добавляем четыре элемента stack.Push("Kate"); stack.Push("Sam"); stack.Push("Alice"); stack.Push("Tom"); // извлекаем один элемент var head = stack.Pop(); Console.WriteLine(head); // Tom // просто получаем верхушку стека без извлечения head = stack.Peek(); Console.WriteLine(head); // Alice } catch(InvalidOperationException ex) { Console.WriteLine(ex.Message); } Console.Read(); } } }
Show compiler warnings
[
+
]
Show input
Compilation time: 0,14 sec, absolute running time: 10 sec, cpu time: 0,06 sec, average memory usage: 24 Mb, average nr of threads: 5, absolute service time: 10,14 sec
edit mode
|
history
|
discussion