- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
QStringList list;
QStringList::iterator i, j;
//...
i = qLowerBound(list.begin(), list.end(), value);
j = qUpperBound(list.begin(), list.end(), value);
while (i != j) {
processItem(*i);
++i;
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+1001
QStringList list;
QStringList::iterator i, j;
//...
i = qLowerBound(list.begin(), list.end(), value);
j = qUpperBound(list.begin(), list.end(), value);
while (i != j) {
processItem(*i);
++i;
}
Пахучее пятнышко из брошюры "Qt 4's Generic Algorithms"
defecate-plusplus 27.11.2011 10:26 # 0
если в processItem кутэшный разбор xml, то вообще никто и не заметит на общем фоне
lucidfoxGovno 27.11.2011 11:26 # −2
Xom94ok 27.11.2011 11:55 # +2
lucidfoxGovno 27.11.2011 12:22 # −2
gegMOPO4 27.11.2011 15:58 # +3
lucidfoxGovno 27.11.2011 16:04 # 0
defecate-plusplus 27.11.2011 21:08 # 0
а это вовсе вариация на тему deque, отличный выбор названия для контейнера
gegMOPO4 27.11.2011 22:11 # 0
absolut 28.11.2011 11:30 # 0
lucidfoxGovno 28.11.2011 12:20 # 0
Это скорее список с индексным доступом или нумерованный список.
roman-kashitsyn 28.11.2011 12:30 # 0
lucidfoxGovno 28.11.2011 12:47 # −5
roman-kashitsyn 28.11.2011 12:55 # +6
absolut 28.11.2011 13:02 # +6
lucidfoxGovno 28.11.2011 13:03 # −2
lucidfoxGovno 28.11.2011 13:15 # −3
Ну смотри. У меня есть ссылки на все ноды и хранятся они в HashMap или TreeMap или в массиве (не важно). И тут сразу оказывается, что DoubleLinkedList предоставляет, surprise... , random access. Я могу получить доступ к произвольному элементу DoubleLinkedList. Если ты не можешь, то это пробел в твоих знаниях.
lucidfoxGovno 28.11.2011 13:23 # −2
ЧЯДНТ?
roman-kashitsyn 28.11.2011 13:34 # +3
Random Access List подразумевает, что имеется random access через интерфейс списка. Фейл.
По TreeMap random access по ключу не получишь. Фейл.
Иди подучись, школота. А ещё на ФП имеешь смелость замахиваться.
lucidfoxGovno 28.11.2011 13:36 # −4
Чего? По моему это тебе нужно подучиться.
roman-kashitsyn 28.11.2011 13:40 # +6
You can not into data structures.
lucidfoxGovno 28.11.2011 13:44 # −8
Random Access - произвольный доступ к данным и время доступа не специфицируется. Иначе пруф?
roman-kashitsyn 28.11.2011 13:46 # +7
> random access (sometimes called direct access) is the ability to access an element at an arbitrary position in a sequence in equal time, independent of sequence size.
EPIC FAIL
lucidfoxGovno 28.11.2011 13:47 # −3
defecate-plusplus 28.11.2011 13:55 # +2
roman-kashitsyn 28.11.2011 13:56 # 0
gegMOPO4 28.11.2011 13:47 # +3
defecate-plusplus 28.11.2011 13:49 # +1
random access как раз подразумевает O(1) время доступа к a[i], где i - произвольное
на тебе пруф http://en.wikipedia.org/wiki/Random_access
но молодец, что оживил ветку, а то скучно
absolut 28.11.2011 14:30 # +4
gegMOPO4 28.11.2011 14:40 # 0
lucidfoxGovno 28.11.2011 14:43 # −1
absolut 28.11.2011 14:43 # +1
2 в уме :)
Lure Of Chaos 28.11.2011 18:28 # +5
привычка...
Свенсон играл в гольф.
- Черт побери! Опять промахнулся! - чертыхался он, когда ему не
везло.
- Нельзя так выражаться. Господь услышит и поразит вас молнией
небесной! - назидательно произнес случившийся рядом пастор. И
впрямь сверкнула молния и поразила... пастора.
- Черт побери! Промахнулся! - раздалось с небес...
gegMOPO4 28.11.2011 13:11 # +3
lucidfoxGovno 28.11.2011 13:17 # −1
C++:
std::list - DoubleLinkedList
gegMOPO4 28.11.2011 13:49 # +1
defecate-plusplus 28.11.2011 14:04 # +5
в ынтырпрайзе проще докупить памяти в сервер или добавить ноду, чем заставлять программиста думать головой и выбирать наиболее подходящий контейнер для задачи, дороже обойдется
roman-kashitsyn 28.11.2011 14:07 # 0
sad but true
3.14159265 28.11.2011 14:14 # +1
>добавить ноду
дело в том, что не все сервера одинаково хорошо масштабируются горизонтально.
(sql-ники , например)
defecate-plusplus 28.11.2011 14:17 # 0
3.14159265 28.11.2011 15:27 # +2
Тормознули на взлете, так сказать.
TarasB 28.11.2011 14:27 # +6
new_user 28.11.2011 14:34 # 0
absolut 28.11.2011 14:37 # 0
TarasB 28.11.2011 14:44 # 0
Там именно алгоритмическая сложность другая.
lucidfoxGovno 28.11.2011 14:45 # −3
jabber 28.11.2011 18:16 # −6
lucidfoxGovno 28.11.2011 18:19 # −3
спой нам еще, птичка
lucidfoxGovno 28.11.2011 18:38 # −2
ПОСОНЫ УЖЕ ВЫИХАЛИ!!!
gegMOPO4 28.11.2011 15:00 # +2
lucidfoxGovno 28.11.2011 12:49 # −4
(с О(log2 n) до 2О(log2 n))
selffix
roman-kashitsyn 28.11.2011 12:55 # +2
Если уж хочешь написать правильно, нужно использовать константы явно.
lucidfoxGovno 28.11.2011 13:02 # −1
Да кеп. Константы указаны в рамках сравнения производительности почти одинаковых по скорости роста числа операций алгоритмов.
lucidfoxGovno 28.11.2011 13:22 # −2
Пусть будет так:
( с Оп(~log2 n) до Оп(~2log2 n) )
TarasB 28.11.2011 14:29 # +6
Ой, даже два оппонента. Да, ещё там Пушков был. Он тоже определения O(n) не знает.
Иногда я ненавижу ГД за это. За абсолютную и агрессивную уверенность идиотов в своей правоте.
gegMOPO4 28.11.2011 14:38 # +8
defecate-plusplus 28.11.2011 15:06 # −2
lucidfoxGovno 28.11.2011 15:12 # −3
roman-kashitsyn 28.11.2011 15:21 # 0
lucidfoxGovno 28.11.2011 15:29 # −4
roman-kashitsyn 28.11.2011 15:32 # −1
lucidfoxGovno 28.11.2011 15:35 # −4
roman-kashitsyn 28.11.2011 15:47 # +2
lucidfoxGovno 28.11.2011 16:35 # −5
lucidfoxGovno 28.11.2011 17:09 # −3
jabber 28.11.2011 18:15 # −7
lucidfoxGovno 28.11.2011 18:23 # −4
Lure Of Chaos 28.11.2011 18:29 # −2
lucidfoxGovno 28.11.2011 18:33 # −5
не ровен час он скоро зарегает hoholGovno
поц, похоже, нарекает все говном, что сам пробует
jabber 28.11.2011 18:40 # −8
TarasB 29.11.2011 09:59 # +1
Desktop 27.01.2020 22:56 # +1
HoBorogHuu_nemyx 27.01.2020 23:07 # 0
3.14159265 28.01.2020 01:09 # +1
Это компренда вообще-то.
Ржачно спамил на гк, угрожал админу.
HoBorogHuu_nemyx 28.01.2020 01:20 # 0
N_BCE_3ACMERJINCb 28.01.2020 01:30 # 0
3.14159265 28.01.2020 14:41 # 0
Какой из них?
Koko 28.01.2020 14:52 # +1
Хуйня карочи.
HoBorogHuu_nemyx 29.01.2020 18:04 # 0
Зачем ему 146 клонов?
3.14159265 29.01.2020 18:41 # +2
Зачем кто они и как их зовут?
Зачем и где они живут?
Много сатанистов произошла утечка прибора способного стирать с мозга человека всю информацию.
Много эти люди не знают,
Зачем кто они и как их зовут?
Зачем последние годы в россии появилось несколько десятков людей зрелого возраста абсолютно здоровых?
Зачем но с полностью отсутствующей памятью?
Малость которую контролируют шестипалые инопланетяне,
Малость так и у сатанистов называется этот центр *цивилизация землян 3-6-9*.
Зачем но при этом ничего не записывать обратно на стёртый мозг?
Малость и сатанисты усердно ищут этот прибор.
Зачем так и в массовом порядке на больших расстояниях?
Малость они умеют читать чужие мысли.
Зачем что в сатанинских секретных документах расшифровывается как: фсб-фюрер снова бог земли русской?
Зачем сатанинская секта обладает очень серьёзными высокоразвитыми технологиями?
Много уничтожить всё земное человечество в мясорубке будущих концлагерей,
Зачем создав свою службу фсб?
Много уничтожить всё земное человечество в мясорубке будущих концлагерей,
Много создав свою службу фсб.
Зачем они умеют читать чужие мысли?
Зачем путин получился у сатанистов наиболее удачными гитлеровским клоном?
Зачем уничтожить всё земное человечество в мясорубке будущих концлагерей?
Зачем создав свою службу фсб?
gost 29.01.2020 18:43 # 0
3.14159265 29.01.2020 18:44 # +2
https://forum.kursknet.ru/viewtopic.php?t=8658
gost 29.01.2020 18:46 # 0
3.14159265 29.01.2020 18:49 # +1
А безумцы видят реальность сквозь десятилетия.
3.14159265 29.01.2020 18:46 # +1
3.14159265 29.01.2020 18:46 # 0
https://govnokod.ru/26269#comment517053
Desktop 29.01.2020 18:44 # 0
- чем? Я так сходу не нашёл, слишком много у него флуда
N_BCE_3ACMERJINCb 28.01.2020 00:43 # 0
а, нет, ложкая творога
gegMOPO4 28.11.2011 15:36 # +2
Lure Of Chaos 28.11.2011 18:30 # 0
gegMOPO4 28.11.2011 19:23 # 0
lucidfoxGovno 27.11.2011 11:31 # −2
lucidfoxGovno 27.11.2011 11:34 # −1
gegMOPO4 27.11.2011 12:04 # 0
lucidfoxGovno 27.11.2011 12:24 # −1
jabber 27.11.2011 12:19 # −10
lucidfoxGovno 27.11.2011 12:32 # −3
Похоже, я не понимаю как из этого поста можно было сделать такой вывод. Видимо, я не понимаю значения этого слова. Пошёл гуглить.
jabber 27.11.2011 12:35 # −9
lucidfoxGovno 27.11.2011 12:37 # +2
>мудак - всякая особь мужского пола с несоразмерно развитыми яйцами. Образовано от "муде" - (старославянское) мужские яйца.
>мудак - человек, упорно идущий к своей неправильной цели.
jabber 27.11.2011 12:39 # −9
lucidfoxGovno 27.11.2011 13:26 # −2
jabber 28.11.2011 17:27 # −4
lucidfoxGovno 28.11.2011 17:30 # −4
defecate-plusplus 28.11.2011 17:31 # 0
никчемный
lucidfoxGovno 28.11.2011 17:43 # −5
%govnouser% 28.11.2011 18:46 # +3
Прочти, что написано на аве.
lucidfoxGovno 29.11.2011 00:24 # 0
3.14159265 28.11.2011 17:46 # 0
>подражать слоупокам-подражателям
>что хуй простой
Какой пиздец.
Surzhyk
lucidfoxGovno 28.11.2011 17:51 # −3
lucidfoxGovno 28.11.2011 18:03 # +1
jabber 28.11.2011 18:06 # −3
lucidfoxGovno 28.11.2011 18:24 # −2
bugmenot 28.11.2011 18:49 # −2
Lure Of Chaos 28.11.2011 18:55 # −2
eth0 28.11.2011 20:47 # −2
Lure Of Chaos 28.11.2011 21:03 # −2
lucidfoxGovno 28.11.2011 21:03 # −3
lucidfoxGovno 28.11.2011 21:04 # −3
lucidfoxGovno 28.11.2011 21:10 # −3
lucidfoxGovno 28.11.2011 21:20 # −3
lucidfoxGovno 28.11.2011 21:00 # −3
bugmenot 28.11.2011 18:30 # +4
lucidfoxGovno 27.11.2011 12:29 # 0
Неужели я опять услышу следующий ответ?
Но я лично знаю 2х кьютешников, которым религия не позволяет использовать std::*
jabber 27.11.2011 12:37 # −7
defecate-plusplus 27.11.2011 12:47 # +5
приводят доводы, что qt старше stl, поэтому безусловно правильнее, что для qt существует миллион биндингов для других языков, что у кутэшников свой особенный стиль, поэтому имена с подчеркиванием запрещены
вот так они варятся в своей экосистеме, а потом на собеседованиях выясняется, что знание Qt != знанию С++, что человек боится узнать чем ссылка отличается от указателя, поэтому всегда копирует аргументы в стек, что человек не знает отличия структуры от класса и благодарит, что он на собеседованиях узнает много новенького
так что кутешников лучше не трогать
lucidfoxGovno 27.11.2011 13:08 # 0
В случае с qLowerBound и прочими алгоритмами из qalgorthms.h это не верно. Они полностью схожи с stl алгоритмами. Даже имеют схожую реализацию. То есть фактически этот хедер основывается на реализации stl от Степанова. Идея с итераторами, похожими на указатель - чисто Степановская идея. Если взглянуть на реализациию qLowerBound, то там используется строка Container::const_iterator. В этот раз мы видим копипасту из реализации stl от Степанова. То есть, по всему видно, что эта часть библиотеки qt появилась после появления stl.
Единственное, чем можно оправдать создателей: эти костыли созданы для переносимости в древние компиляторы, где нет stl. Но сейчас таких мало. Сейчас, конечно, есть компиляторы, где нет поддержки stl, но туда просто не возможно портировать stl из-за отсутствия в этих компиляторах нормальной поддержки шаблонов. А значит эти костыли алгоритмов там все равно работать не будут.
То есть сейчас эти костыли не имеет смысла использовать. Их нужно пометить как deprecated и выкинуть из интерфейсной части справки qt.
gegMOPO4 27.11.2011 16:16 # +1
От используемых 10 лет костылей так просто не избавиться. А нужны они ещё и потому, что Qt — не только C++. Скорее выбросят поддержку C++.
lucidfoxGovno 29.11.2011 11:52 # −3
guest 29.11.2011 12:01 # −4
Xom94ok 30.11.2011 09:24 # 0
zhigolo 29.01.2020 22:43 # 0
guest8 09.04.2019 12:14 # −999