|
Интересная сортировка List<Category>
|
|||
---|---|---|---|
#18+
Ребята, пока пытаюсь сам реализовать, но мало ли, если кто имеет опыт в реализации подобного, был бы рад увидеть предложения. Сам то справлюсь с этой задачей, но вдруг кто быстрее подскажет как поизящнее реализовать следующее: Есть пользовательский тип Код: c# 1. 2. 3. 4. 5. 6. 7.
Есть список всех категорий и подкатегорий, взятых из одной таблицы БД (категории и их подкатегории хранятся в одной таблице): Код: c# 1.
Так вот. В этом списке элементы, представляющие собой категории и подкатегории не отсортированы. Требуется так отсортировать этот список, что бы после каждого элемента категории шли все элементы его подкатегории, потом опять один элемент следующей категории и за ним несколько (все его) элементы подкатегории. При этом, желательно, что бы элементы категорий шли в том же порядке, что и в изначальном виде неотсортированного списка. Таким образом, ожидается, что бы оставить порядок следования категорий, но за каждой категорией шли ВСЕ её подкатегории вплоть до следующего элемента категории. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.02.2013, 02:53 |
|
Интересная сортировка List<Category>
|
|||
---|---|---|---|
#18+
avolik, рекурсия; что-то типа такого: Код: 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.
... |
|||
:
Нравится:
Не нравится:
|
|||
03.02.2013, 21:23 |
|
Интересная сортировка List<Category>
|
|||
---|---|---|---|
#18+
avolik, сортировка в .Net сводится к написанию правильного компаратора ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2013, 13:39 |
|
Интересная сортировка List<Category>
|
|||
---|---|---|---|
#18+
avolik, http://msdn.microsoft.com/ru-ru/library/8ehhxeaf.aspx http://www.codeproject.com/Articles/42839/Sorting-Lists-using-IComparable-and-IComparer-Inte ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2013, 15:30 |
|
Интересная сортировка List<Category>
|
|||
---|---|---|---|
#18+
pationavolik, сортировка в .Net сводится к написанию правильного компаратора - это без сомнений! ... |
|||
:
Нравится:
Не нравится:
|
|||
05.02.2013, 03:21 |
|
Интересная сортировка List<Category>
|
|||
---|---|---|---|
#18+
avolikpationavolik, сортировка в .Net сводится к написанию правильного компаратора - это без сомнений! вот и напиши, там кода 5 строк ... |
|||
:
Нравится:
Не нравится:
|
|||
05.02.2013, 08:33 |
|
Интересная сортировка List<Category>
|
|||
---|---|---|---|
#18+
avolikpationavolik, сортировка в .Net сводится к написанию правильного компаратора - это без сомнений! На вскидку компаратор: Код: 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.
... |
|||
:
Нравится:
Не нравится:
|
|||
05.02.2013, 09:54 |
|
Интересная сортировка List<Category>
|
|||
---|---|---|---|
#18+
LameUseravolikпропущено... - это без сомнений! На вскидку компаратор: Код: 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.
Работать будет только если всего 2 уровня дерева. При 3 и более нужно будет учитывать уровень категории. Просто не видно исходных данных ... |
|||
:
Нравится:
Не нравится:
|
|||
05.02.2013, 11:39 |
|
Интересная сортировка List<Category>
|
|||
---|---|---|---|
#18+
LameUserПросто не видно исходных данных А без них что-то экспериментировать бесполезно. avolik, Дайте пример. Что есть на входе, что должно быть на выходе. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.02.2013, 22:10 |
|
|
start [/forum/topic.php?fid=20&gotonew=1&tid=1405215]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
54ms |
get topic data: |
7ms |
get first new msg: |
7ms |
get forum data: |
2ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
others: | 306ms |
total: | 457ms |
0 / 0 |