Изменения

Перейти к: навигация, поиск

Программирование по контракту

718 байт добавлено, 20:01, 30 сентября 2013
Пример
<tex> isEmpty - </tex> проверка на пустоту
 
public class ArrayStack {
private int size;
private Object[] elements;
public void push(Object element){
assert element != null;
ensureCapacity(size + 1);
elements[size++] = element;
}
private void ensureCapacity(int capacity) {
if (capacity <= elements.length) {
return;
}
Object[] newElements = new Object[2 * capacity];
for (int i = 0; i < size; i++) {
newElements[i] = elements[i];
}
 
public Object pop() {
assert size > 0;
return elements[--size];
}
public int size() {
return size;
}
 
public boolean isEmpty() {
return size == 0;
}
public Object peek() {
assert size > 0;
return elements[size - 1];
}
 
}
Инвариант:
Анонимный участник

Навигация