Понимание постановки проблемы реализации стека - PullRequest
1 голос
/ 22 августа 2011

Мне нужно вычислить элемент peek mid, а также формулировка проблемы для реализации этого метода: -

*returns object which has the middle value among the all objects without removing it from the stack. *returns the object which has the value of following order (size()/2)+1 *e.g. *When the stack has the following values (1, 2, 5, 4, 2, 6) *this method returns 4 and doesn't remove the object.

поэтому мой запрос: -

должен ли я рассматривать средний элемент с точки зрения позиции, т. Е. После сортировки элементов стека средний элемент получается как mid = stack[size()/2+1] или я должен рассматривать это с точки зрения стоимости, т.е. mid= max+min/2

как и в вышеупомянутой проблеме, обе ситуации верны (с моей точки зрения), т.е.

stack[size()/2+1]=stack[6/2+1]=4

и max+min/2=6+1/2=3.5, а округление будет равно 4

пожалуйста, помогите мне понять формулировку проблемы

1 Ответ

1 голос
/ 22 августа 2011

Стек - это структура данных, и в таком случае в наиболее общем случае должна быть возможность хранить данные любого типа. Тот факт, что вы имеете дело с целыми числами, является лишь упрощением вашего задания. Что касается структуры данных, то имеет смысл рассмотреть средний элемент, а не выполнять какие-либо вычисления для значений элементов (это слишком специфично для структуры данных).

Похоже, что вам нужен ((n / 2) + 1) -й элемент, поэтому элемент с индексом (n / 2) в этом примере.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...