Софтуерно Инженерство
Loading...
dim4o avatar dim4o 288 Точки

Тази сутрин реших да си прочистя малко ума след краха по Database снощи :) --> Домашно: StacksAndQueues

Без Unit тестове е и за някои неща не съм изпълнявал всичко 1:1 с условието. Например не правя метод Grow(), а един метод OptimizeCpacity(), който служи за разширяване на масива и съответно за свиване когато е необходимо. За имплементациите също не съм се водил от материала от упражненията, защото още не съм ги правил. Unit-ите ще ги добавя утре.

Оносно 9-та задача могат да се направят и още неща: например да се изкарат всички най-кратки варианти, когато са повече от един, може когато за пръв път се срещне края да се спре с добавянето на повече елементи и безмисленото и нарастване. Понякога за дори малки интервали опашката може да стане много голяма и това може да се окаже значителна оптимизация.

EDIT: Добавени са и Unit тестове.

1
15/07/2015 01:03:53
DJZoning avatar DJZoning 85 Точки

@dim4o, TestStackToArrayAfterPushingNubers  този тест метод не е ОК, не очаква елементите в правилния ред, очаква ги в реда, в който са push-нати. Трябва да ги очаква в обратния ред Last-In-First-Out

Най-краткия начин за редактиране не този метод е във втория for loop вместо това:

Assert.AreEqual(arrayWithOrigins[i], stackToArray[i]);

да кажеш така:

Assert.AreEqual(arrayWithOrigins[arrayWithOrigins.Length-1-i], stackToArray[i]);

1
19/07/2015 16:30:44
dim4o avatar dim4o 288 Точки

Да, знам че е така - благодаря за наблюдението. Поправил съм и ToArray() метода, защото май не работеше като .Net-ския. Просто още не съм commit-нал в GitHub финалния вариант. Ходих да разучавам "изкуствените дървета" отблизо :)

0