|
|
|
массив в массив
|
|||
|---|---|---|---|
|
#18+
мне тут в голову мысль навели(один товарищ),точнее озадачили:что есть возможность из одного массива не упорядоченного(массив в размере допустим 20 эл-тов, содержащим числа от 0 до 100),создать другой уже упорядоченный. все бы без проблем,но говорит он это делал без условий типа IF и всего за два-три захода.как понимаю все с for.может у кого какие мысли? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2004, 13:55 |
|
||
|
массив в массив
|
|||
|---|---|---|---|
|
#18+
При таких условиях - тривиально. Допустим, исходный массив - A. 1. Выделяется массив B из ста нулей 2. Для каждого A делается B[A]++ 3. Для каждого ненулевого B=N в результат попадают N элементов, равных i. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2004, 14:02 |
|
||
|
массив в массив
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2004, 14:03 |
|
||
|
массив в массив
|
|||
|---|---|---|---|
|
#18+
авторДля каждого ненулевого - Это if, я так понимаю?.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2004, 16:13 |
|
||
|
массив в массив
|
|||
|---|---|---|---|
|
#18+
к тому же, если числа порядка 100000 - надо такой массив забабахивать.... короче... дайте мне шашкой помахать :) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. условия в for'ах никак не обойти, можно тока соптимизировать, сводя цикл к нулю. Тогда в коде "<" пропадут и будет совсем как без if ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2004, 16:33 |
|
||
|
массив в массив
|
|||
|---|---|---|---|
|
#18+
Siebentearbeit авторДля каждого ненулевого - Это if, я так понимаю?.... Почему? Это for (int j = 0; j < B ; j++) { }. Для нулевого B в результат попадают 0 элементов, вот и все. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2004, 18:49 |
|
||
|
массив в массив
|
|||
|---|---|---|---|
|
#18+
softwarerПочему? Ок, верю. А код можно посмотреть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2004, 10:10 |
|
||
|
массив в массив
|
|||
|---|---|---|---|
|
#18+
а для чего собственно массив 2 с нулевыми значениями? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2004, 11:24 |
|
||
|
массив в массив
|
|||
|---|---|---|---|
|
#18+
Sie Ок, верю. А код можно посмотреть? Примерно так. Правда, у меня сейчас нет под рукой C, так что - на яве. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Алгоритм, конечно, менее красивый, чем предложенный Sie, зато в означенный условиях - более быстрый :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2004, 12:31 |
|
||
|
массив в массив
|
|||
|---|---|---|---|
|
#18+
Ничё, с красотой у него всё нармальна! :) Тока с++ надо там за скобки цикла как-то вытащить, имхо... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2004, 16:45 |
|
||
|
массив в массив
|
|||
|---|---|---|---|
|
#18+
SieТока с++ надо там за скобки цикла как-то вытащить, имхо... Зачем? Можно, конечно, перекинуть к j++,c++ - но это сделает код менее понятным. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2004, 17:44 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=32746156&tid=2034224]: |
0ms |
get settings: |
8ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
55ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
64ms |
get tp. blocked users: |
1ms |
| others: | 204ms |
| total: | 370ms |

| 0 / 0 |
