Conversation
The fastest is STL sort() :) The next is "quicksort". And the slowest is "bubble sort", though I like it for it's simplicity :)
| for (uint32_t *uiTrying = uiBegin; uiTrying != uiEnd; ++uiTrying) { | ||
| bool bChanged = false; | ||
| for (uint32_t *uiElem = uiBegin; uiElem != (uiEnd - 1); ++uiElem) { | ||
| if (predicat(*uiElem, *(uiElem + 1))) { |
There was a problem hiding this comment.
странное поведение когда предикат дает true и мы делаем continue, чаще все наоборот
There was a problem hiding this comment.
я в лямбду отправляю критерий a < b при сортировке по возрастанию, это наглядно. Соответственно тут, если условие выполняется, то не нужно переставлять. Возможно, я смотрю как-то субъективно?
| } | ||
|
|
||
| bool bFillingManual(YuArray &in_out_Array) { | ||
| for (size_t sizeIndex = 0; sizeIndex != sizeARRAY; ++sizeIndex) { |
There was a problem hiding this comment.
вместо sizeARRAY лучше in_out_Array.size()
There was a problem hiding this comment.
Да, вот с этим, кстати, вопрос. in_out_Array.size() наверняка возьмет размер из переменной, а не будет обсчитывать массив. Тогда да, так будет лучше.
| bool bFillingManual(YuArray &in_out_Array) { | ||
| for (size_t sizeIndex = 0; sizeIndex != sizeARRAY; ++sizeIndex) { | ||
| std::cout << "Enter integer value for [" << sizeIndex << "] array member: "; | ||
| if (!(std::cin >> in_out_Array.at(sizeIndex))) { // skip other checkings |
There was a problem hiding this comment.
Он мне в принципе нравится :) Что можно поймать его ексепшн. Хотя тут выход за пределы массива маловероятен.
No description provided.