![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| 6atoh |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 160 Регистрация: 15.9.2006 Где: Minsk Репутация: нет Всего: 4 |
Взял алгоритм быстрой сортировки с http://algolist.manual.ru/sort/quick_sort.php
Вот он собственно:
Так вот меня смущает строка: if( N > i ) quickSortR(a+i, N-i); что значит a+i, если a в моем случае - массив byte[]??? |
|||
|
||||
| CaptainFlint |
|
|||
|
Искатель сокровищ ![]() ![]() Профиль Группа: Участник Сообщений: 393 Регистрация: 26.2.2003 Где: Москва Репутация: нет Всего: 23 |
Имя массива является указателем на его начало. Т.е. литерал a является переменной, содержащей адрес ячейки a[0]. Соответственно, прибавляя к указателю число i, ты смещаешь этот указатель на i элементов, т.е. a+i будет являться указателем на ячейку a[i] -------------------- Почему же, ё-моё, ты нигде не пишешь "ё"? -------------------- Для тех, кто не знает: CaptainFlint - это бывший Константин. ;) |
|||
|
||||
| Kuvaldis |
|
|||
![]() механик-вредитель ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1189 Регистрация: 16.6.2006 Где: Минск Репутация: 11 Всего: 61 |
6atoh,
В С/С++ имя массива - это указатель на первый элемент(его адрес) Если мы к указателю прибавляем число i, то компилятор РЕАЛЬНО указывает на i-тый элемент массива независимо от его типа. Происходит это так: i * sizeof(тип_элементов_массива) Т.е. a + i - это указатель (см. выше - имя массива) P.S. CaptainFlint - редиска, опередил меня Это сообщение отредактировал(а) Kuvaldis - 17.9.2006, 18:37 -------------------- Помни - когда ты спишь, враг не дремлет Спи чаще и дольше, изматывай врага бессоницей |
|||
|
||||
| maxim1000 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: 17 Всего: 110 |
всё-таки, вопрос больше по C/C++, чем по алгоритму
так что туда и переношу... -------------------- qqq |
|||
|
||||
| 6atoh |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 160 Регистрация: 15.9.2006 Где: Minsk Репутация: нет Всего: 4 |
всем спасибо....видимо придется создавать похожую тему в .NET, т.к. именно там у меня возникла проблема
|
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |