10 / 10 / 4
Регистрация: 05.08.2009
Сообщений: 101
|
|
1 | |
.NET 2.x Консоль. Контейнер для хранения данных с возможностью сортировки данных по любому полю.29.09.2011, 01:22. Показов 2498. Ответов 7
Метки нет (Все метки)
Здравствуйте. Задача следующая: пользователь вводит в консоль табличные данныев формате (это пример), представленном ниже:
0
|
29.09.2011, 01:22 | |
Ответы с готовыми решениями:
7
Подскажите контейнер для хранения данных Разработать шаблон класса для хранения данных (контейнер) Поиск данных по любому полю Вывод данных по запросу – поиск по любому полю |
17685 / 12871 / 3365
Регистрация: 17.09.2011
Сообщений: 21,136
|
|
29.09.2011, 01:35 | 2 |
Таблица - это всего лишь один из методов отображения данных.
Создать класс для хранения данных (i.e. Person) и потом создать массив или список объектов этого класса. Сортировать через метод Sort, давая ему аргументом разные компареры в зависимости от типа данных, по которым сортировать. Как вариант, использовать запросы LINQ для сортировки А уж как потом отображать отсортированный массив: таблицей или построчно - дело вкуса
0
|
29.09.2011, 01:54 | 3 | ||||||||||
Например:
AnalyzedWord
В итоге я получаю сортированный список по свойству Quantity. Такого вида:
1
|
17685 / 12871 / 3365
Регистрация: 17.09.2011
Сообщений: 21,136
|
||||||
29.09.2011, 02:03 | 4 | |||||
Или так:
1
|
29.09.2011, 02:12 | 5 |
Ну я взял текст из программы, которую написал для себя (учу английский, хотел узнать сколько слов и какие наиболее употребляемые в тексте прилагаемом к аудиокниге) под второй фрэймворк, поэтому лямбда выражения не использовались.
lekha2009, если не понятно что за people.OrderBy(p => p.Salary); например, то перейди по ссылке выше в этом сообщении.
1
|
17685 / 12871 / 3365
Регистрация: 17.09.2011
Сообщений: 21,136
|
|
29.09.2011, 02:22 | 6 |
Еще один важный момент:
в примере, предложенном Casper-SC с использованием метода Sort и сравнителем, элементы в оригинальном массиве поменяются местами в результате сортировки. В примере, предложенном мной, оригинальный массив остается неизменным, а метод OrderBy возвращает только энумератор, который "проведет" по элементам массива в алфавитном порядке. Что использовать - зависит от желаемого результата и поставленной задачи.
1
|
10 / 10 / 4
Регистрация: 05.08.2009
Сообщений: 101
|
|
29.09.2011, 13:22 [ТС] | 8 |
Ребята, спасибо - разобрался. Жаль, что не дружу с LINQ, но ничего, позже познакомлюсь на досуге.
Сделал так: 1) написал класс с описанием структуры данных, как предложил kolorotur; 2) сортировку делал через делегат, наподобие предложенного Casper-SC. https://www.cyberforum.ru/csha... post153628
0
|
29.09.2011, 13:22 | |
29.09.2011, 13:22 | |
Помогаю со студенческими работами здесь
8
Необходим тип данных для хранения в нем массива чисел с возможностью добавлять и удалять функция сортировки по любому полю Создать запись для хранения. Для хранения данных использовать стек. Для группировки данных использовать очередь Программный ввод данных в консоль с возможностью ручного редактирования Заменить контейнер vector, использовавшийся для хранения текстовых строк (листинг 2.3), на контейнер list Создать в SQL Server базу данных для хранения данных Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |