Стек и операции с ним - проверка кода на корректность - C#
Формулировка задачи:
Необходимо реализовать стек на С#(считывание без извлечения элемента стека, считывание с извлечением элемента стека, запись элемента в стек, сравнение двух стеков)
Можете проверить на правильность и корректность?
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication3{ class Stack{ private int[] elements; private int size; public Stack(){ this.elements = new int[0]; this.size = elements.Length; } public void push(int e){ if (this.size == elements.Length){ int[] newArray = new int[this.elements.Length + 1]; Array.Copy(this.elements, 0, newArray, 0, this.size); this.elements = newArray; this.elements[this.size++] = e; } } public int pop(){ if (this.elements.Length == 0) throw new Exception("Не существующий элемент массива"); this.size -= 1; int el = elements[this.size]; int[] newArray = new int[this.size]; Array.Copy(this.elements, 0, newArray, 0, this.size); this.elements = newArray; return el; } public int getSize{ get{ return elements.Length; } } public bool isEmpty{ get { return this.size == 0; } } public int peek{ get{ return this.elements[this.size-1]; } } public override bool Equals(object obj){ Stack s = obj as Stack; if(this.size == s.size){ for (int i = 0; i < this.size;i++ ){ if (this.elements[i] == s.elements[i]){ return true; } } }else return false; throw new Exception("Ошибка при сравнении"); } public override int GetHashCode(){ int hashCode=0; const int constant = 31; for (int i = 0; i < this.size;i++ ){ hashCode = constant * this.elements[i]; } return hashCode; } } }
Решение задачи: «Стек и операции с ним - проверка кода на корректность»
textual
Листинг программы
public override int GetHashCode(){ const int constant = 31; int hashCode=constant * curr; for (int i = 0; i < curr;i++ ){ hashCode ^= constant * this.elements[i]; } return hashCode; }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д