Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.05.2016, 18:43   #1
ReckitRockefeller
Новичок
Джуниор
 
Регистрация: 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.
ReckitRockefeller вне форума Ответить с цитированием
Старый 05.05.2016, 18:52   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
Сообщение от ReckitRockefeller Посмотреть сообщение
Для чего служит Array.Sort? Примеры дайте, пожалуйста.
для сортировки как не странно.
на MSDN
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 05.05.2016, 18:56   #3
ReckitRockefeller
Новичок
Джуниор
 
Регистрация: 05.05.2016
Сообщений: 4
По умолчанию

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
для сортировки как не странно.
Элементарно) Но, мне нужно понять как он сортирует элементы? По каким признакам?

Кстати, msdn сайт прогружается 15 минут где-то.
Мацаю клаву, остальных пока некогда...
ReckitRockefeller вне форума Ответить с цитированием
Старый 05.05.2016, 19:34   #4
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

в зависимости от IComparer для этого типа.
для своих классов можете описать свой.
+ IComparer по умолчанию вроде юзает >

тут описано https://msdn.microsoft.com/ru-ru/lib...v=vs.110).aspx
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 05.05.2016, 19:39   #5
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

1000 это мало, хоть пузырьковой сортировкой сортируйте.
Ну разве что вам надо сортировать 100500 раз в секунду.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 05.05.2016, 20:12   #6
ReckitRockefeller
Новичок
Джуниор
 
Регистрация: 05.05.2016
Сообщений: 4
По умолчанию

Сейчас объясню, есть более чем 1000 файлов из которых надо считывать данные и обрабатывать по 5-10 раз ро-разному. Так вот, эти файлы заношу в массив, если файл удалился в ячейке[n-10], то последующие ячейки должны сместиться назад (влево).

Хотя стоп, тоже мне гений!!! Лучше последнюю ячейку массива в эту ячейку заносить. Хаха)

Ладно, тема закрыта) Извиняюсь
Мацаю клаву, остальных пока некогда...

Последний раз редактировалось Alex11223; 05.05.2016 в 20:16.
ReckitRockefeller вне форума Ответить с цитированием
Старый 05.05.2016, 20:16   #7
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

List<T> и Remove нужен что ли?
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 05.05.2016, 20:30   #8
ReckitRockefeller
Новичок
Джуниор
 
Регистрация: 05.05.2016
Сообщений: 4
По умолчанию

Неплохой вариант. Но лучший выше комментарием)
Мацаю клаву, остальных пока некогда...
ReckitRockefeller вне форума Ответить с цитированием
Старый 05.05.2016, 20:37   #9
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Что-то не похоже на лучший, как минимум придется завести переменную для хранения размера и не забыть ее обновлять и использовать (и видимо еще менять местами элементы если удаляемый не в конце). А в List все уже сделано и не даст допустить кучи ошибок возможных при реализации такой схемы.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 05.05.2016, 20:52   #10
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

если у вас массив массивов байт, то тогда вообще LinkedList лучше.

тут много нюансов, больше бы инфы, может вашему алгоритму вообще работы IEnumerable хватит.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Для чего существует коммутативность 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