|
Вопрос про shuffle
|
|||
---|---|---|---|
#18+
Здравствуйте! Пишу вариант shuffle для одного array. Код: c# 1. 2. 3. 4. 5.
Если для двух array, то shuffle должно быть соответственно по строкам. Длины array совпадают. Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
Оба варианта работают. Скажите, для второго варианта возможно ли сократить запись или написать более оптимально, например, с помощью LINQ, учитывая что количество array может быть еще больше? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.06.2020, 22:46 |
|
Вопрос про shuffle
|
|||
---|---|---|---|
#18+
Можно перемешивать не сами массивы, а индексы массивов. А если идти именно этим путем - ну надо просто for заменить на Select (ту перегрузку, которая с с индексом) ... |
|||
:
Нравится:
Не нравится:
|
|||
06.06.2020, 23:09 |
|
Вопрос про shuffle
|
|||
---|---|---|---|
#18+
Shocker.Pro, +1 перемешивать индексы лучше, чтобы не перемещать объекты в памяти ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2020, 00:06 |
|
Вопрос про shuffle
|
|||
---|---|---|---|
#18+
hVostt Shocker.Pro, +1 перемешивать индексы лучше, чтобы не перемещать объекты в памяти Если reference type, то без разницы, ведь. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2020, 10:12 |
|
Вопрос про shuffle
|
|||
---|---|---|---|
#18+
fkthat hVostt Shocker.Pro, +1 перемешивать индексы лучше, чтобы не перемещать объекты в памяти Если reference type, то без разницы, ведь. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2020, 11:14 |
|
Вопрос про shuffle
|
|||
---|---|---|---|
#18+
fkthat hVostt Shocker.Pro, +1 перемешивать индексы лучше, чтобы не перемещать объекты в памяти Если reference type, то без разницы, ведь. Лучше от этого абстрагироваться ) Весь массив, который нужно сделать shuffle может даже быть не в памяти ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2020, 12:15 |
|
Вопрос про shuffle
|
|||
---|---|---|---|
#18+
Shocker.Pro Можно перемешивать не сами массивы, а индексы массивов. C# Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23.
А если идти именно этим путем - ну надо просто for заменить на Select (ту перегрузку, которая с с индексом)Не совсем понятно. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2020, 14:47 |
|
Вопрос про shuffle
|
|||
---|---|---|---|
#18+
ferzmikk Или создается отдельный класс, где перемешиваются индексы? ferzmikk Не совсем понятно. ferzmikk Код: c# 1.
Код: c# 1.
Ну или можно применить Zip() для склейки двух последовательностей ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2020, 15:03 |
|
Вопрос про shuffle
|
|||
---|---|---|---|
#18+
Shocker.Pro создается массив с индексами, которые перемешивается любым доступным способом, например так же, как в изначальном посте. Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9.
Ну или можно применить Zip() для склейки двух последовательностейЧто то сложно у меня получается Код: c# 1. 2. 3. 4. 5.
Но оба варианта работают. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2020, 17:03 |
|
Вопрос про shuffle
|
|||
---|---|---|---|
#18+
ferzmikk Что то сложно у меня получается Zip - для склейки, а перемешивание - это отдельная тема ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2020, 17:18 |
|
Вопрос про shuffle
|
|||
---|---|---|---|
#18+
А вот такой дополнительный вопрос, если усложнить задачу: есть два таких же массива, но первый массив двумерный. В первом массиве нулевое измерение равно нулевому измерению второго массива. И вот соединяю пока без перемешки. C# Код: c# 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. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57.
... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2020, 18:27 |
|
|
start [/forum/topic.php?fid=20&fpage=10&tid=1398537]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
70ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
others: | 238ms |
total: | 401ms |
0 / 0 |