|
|
|
Выборка из массива
|
|||
|---|---|---|---|
|
#18+
Подскажите пожалуйста: Есть массив из 100 элементов float T[100] заполненный случайными числами от 1 до 200 и есть массив и 4 элементов float R[4] заранее заполненный большими числами Как записать в массив R 4 минимальных числа из массива T? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2006, 00:46 |
|
||
|
Выборка из массива
|
|||
|---|---|---|---|
|
#18+
Отсортируй Т, возьми четрые первых или четыре последних элемента из Т. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2006, 01:41 |
|
||
|
Выборка из массива
|
|||
|---|---|---|---|
|
#18+
а не получится что сортировка первого массива это пустая трата ресурсов.. тем более он большой и получится куча перестановок и куча сравнений.. плюс четыре копирования в конце, а при тупом пробегании по певому и сравнени с каждым из 2го может и не хуже получиться, получится всего 400 проверок и всего до 100 перестановок.. при очень неудачном стечении обстоятельств. java/netbeans/jse ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2006, 12:42 |
|
||
|
Выборка из массива
|
|||
|---|---|---|---|
|
#18+
s-e-r-g-eа не получится что сортировка первого массива это пустая трата ресурсов.. тем более он большой и получится куча перестановок и куча сравнений.. плюс четыре копирования в конце, а при тупом пробегании по певому и сравнени с каждым из 2го может и не хуже получиться, получится всего 400 проверок и всего до 100 перестановок.. при очень неудачном стечении обстоятельств. java/netbeans/jse Надо будет брать каждый элемент из первого массива и заменять его на самый большой элемент второго, если он [во втором] будет больше элемента из первого. Сравнения и перестановки считай сам. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2006, 16:41 |
|
||
|
Выборка из массива
|
|||
|---|---|---|---|
|
#18+
s-e-r-g-eа не получится что сортировка первого массива это пустая трата ресурсов.. тем более он большой и получится куча перестановок и куча сравнений.. плюс четыре копирования в конце Если я правильно понял, надо просто выбрать 4 минимальных элемента массива. Самый простой способ, как уже сказали - отсортировать и взять 4 первых по порядку. Если хочется избежать лишних операций, действительно нам же не надо сортировать все , а только найти 4 минимальных, то можно воспользоваться алгоритмом partial_sort из стандартной библиотеки. Он делает как раз то что надо, находит N минимальных (если не задан другой критерий сортировки) элементов контейнера и пишет их по порядку в начало. Внизу пример. Адреса элментов массива в качестве итераторов смотрятся несколько странно, но раз изначально по условию задачи имеем массив (а не вектор, что выглядело бы более привычно), то и будем курить бамбук так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2006, 18:07 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=33675053&tid=2031488]: |
0ms |
get settings: |
6ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
162ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
37ms |
get tp. blocked users: |
1ms |
| others: | 206ms |
| total: | 435ms |

| 0 / 0 |
