![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Новичок
Джуниор
Регистрация: 05.05.2016
Сообщений: 4
|
![]()
Привет CАкулы!!
Хотелось бы сортировать массив от объектов со значением null. Пример: object[] h; Array.Resize(h,3); h[0] = new object(); h[1] = new object(); h[2] = new object(); h[1] = null; Как видим создаётся массив h, все они инитиализируются входе программы. Позже h[1] обнуляем. Теперь нужно сортировать массив так, чтобы последующие элементы массива сместились на позицию -1, т.е. h[2] должно быть на месте h[1]. UPD: элементов в массивы может быть больше 1000. Поэтому нужен быстрый подход к этому. UPD2: Не предлагать сортировать через цикл с проверкой на null значение. Для чего служит Array.Sort? Примеры дайте, пожалуйста.
Мацаю клаву, остальных пока некогда...
Последний раз редактировалось Alex11223; 05.05.2016 в 20:38. |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]()
для сортировки как не странно.
на MSDN Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
![]() |
![]() |
![]() |
#3 |
Новичок
Джуниор
Регистрация: 05.05.2016
Сообщений: 4
|
![]()
Элементарно) Но, мне нужно понять как он сортирует элементы? По каким признакам?
Кстати, msdn сайт прогружается 15 минут где-то.
Мацаю клаву, остальных пока некогда...
|
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]()
в зависимости от IComparer для этого типа.
для своих классов можете описать свой. + IComparer по умолчанию вроде юзает > тут описано https://msdn.microsoft.com/ru-ru/lib...v=vs.110).aspx Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
![]() |
![]() |
![]() |
#5 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
![]()
1000 это мало, хоть пузырьковой сортировкой сортируйте.
Ну разве что вам надо сортировать 100500 раз в секунду.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
![]() |
![]() |
![]() |
#6 |
Новичок
Джуниор
Регистрация: 05.05.2016
Сообщений: 4
|
![]()
Сейчас объясню, есть более чем 1000 файлов из которых надо считывать данные и обрабатывать по 5-10 раз ро-разному. Так вот, эти файлы заношу в массив, если файл удалился в ячейке[n-10], то последующие ячейки должны сместиться назад (влево).
Хотя стоп, тоже мне гений!!! Лучше последнюю ячейку массива в эту ячейку заносить. Хаха) Ладно, тема закрыта) Извиняюсь
Мацаю клаву, остальных пока некогда...
Последний раз редактировалось Alex11223; 05.05.2016 в 20:16. |
![]() |
![]() |
![]() |
#7 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
![]()
List<T> и Remove нужен что ли?
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
![]() |
![]() |
![]() |
#8 |
Новичок
Джуниор
Регистрация: 05.05.2016
Сообщений: 4
|
![]()
Неплохой вариант. Но лучший выше комментарием)
Мацаю клаву, остальных пока некогда...
|
![]() |
![]() |
![]() |
#9 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
![]()
Что-то не похоже на лучший, как минимум придется завести переменную для хранения размера и не забыть ее обновлять и использовать (и видимо еще менять местами элементы если удаляемый не в конце). А в List все уже сделано и не даст допустить кучи ошибок возможных при реализации такой схемы.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
![]() |
![]() |
![]() |
#10 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]()
если у вас массив массивов байт, то тогда вообще LinkedList лучше.
тут много нюансов, больше бы инфы, может вашему алгоритму вообще работы IEnumerable хватит. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Для чего существует коммутативность array[2] == 2[array] | _PROGRAMM_ | Помощь студентам | 10 | 02.11.2014 13:33 |
Как по указателю на массив узнать массив чего это(array of string/integer/int64...) | WhiskasTM | Общие вопросы Delphi | 4 | 07.01.2013 21:11 |
free pascal. Заполнить массив array of pointer | Решетова Алена | Помощь студентам | 5 | 15.12.2012 06:09 |
Массив объектов Array | konors | Общие вопросы C/C++ | 9 | 12.11.2012 17:24 |
Динамический массив класса Array | emnm | Общие вопросы C/C++ | 0 | 21.12.2010 22:04 |