|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
25.03.2021, 17:00 | #1 |
Новичок
Джуниор
Регистрация: 25.03.2021
Сообщений: 5
|
Односвязный список
Задача: Произвести поиск и сортировку — по названию фирмы, виду работ, дате исполнения односвязным списком(ОС). ОС представлю как LinkedList в который добавляется несколько LinkedListNode в каждом из которых отдельно находятся "название фирмы", " вид работ", "дата исполнения". Класс LinkedListNode<T> и LinkedList<T> это понятно. Не понятно как в Main это все должно выглядеть.
Как добавить в LinkedList<T> к примеру LinkedListNode<T>c именем фирмы и сделать указатель на LinkedListNode<T> с видом работ. Буду очень признателен за кусок кода. |
25.03.2021, 17:07 | #2 |
Форумчанин
Регистрация: 16.11.2020
Сообщений: 243
|
|
25.03.2021, 19:05 | #3 |
Новичок
Джуниор
Регистрация: 25.03.2021
Сообщений: 5
|
Односвязный список
Спасибо за ответ! Но ясней не стало. Допустим:
LinkedList<string> linkedList = new LinkedList<string>(); // добавление элементов linkedList.Add("Tom"); linkedList.Add("Alice"); linkedList.Add("Bob"); linkedList.Add("Sam"); я не могу добавить вместо "Tom" - "название фирмы", " вид работ", "дата исполнения". Мне нужна сортировка по этим полям. ИЛИ я не то понимаю, что нужно понимать как работает односвязный список |
26.03.2021, 06:25 | #4 |
Новичок
Джуниор
Регистрация: 25.03.2021
Сообщений: 5
|
Для тех кто в броне, вот код рабочего односвязного списка
using System; using System.Collections.Generic; // подключаем LinkedList<T> using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication1 { public class Book { public string BookName { set; get; } public int Price { set; get; } } class Program { static void Main(string[] args) { // создаем LinkedList<T> LinkedList<Book> myList = new LinkedList<Book>(); // добавляем элемент в начало Book b1 = new Book() { BookName = "Властелин Колец", Price = 200 }; myList.AddFirst(b1); // в myList элементы: {"Властелин Колец", 200} // добавляем элемент в конец Book b2 = new Book() { BookName = "Три мушкетера", Price = 300 }; myList.AddLast(b2); // в myList элементы: {"Властелин Колец", 200}, {"Три мушкетера", 300} // найти элемент (ищет по ссылке) LinkedListNode<Book> node2 = myList.Find(b2); // добавляем элемент перед node2 {"Три мушкетера", 300} Book b3 = new Book() { BookName = "Гарри Поттер", Price = 400 }; myList.AddBefore(node2, b3); // в myList элементы: {"Властелин Колец", 200}, {"Гарри Поттер", 400}, {"Три мушкетера", 300} // найти элемент (ищет по ссылке) LinkedListNode<Book> node1 = myList.Find(b1); // добавляем элемент после node1 {"Властелин Колец", 200} Book b4 = new Book() { BookName = "Волшебник", Price = 800 }; myList.AddAfter(node1, b4); // в myList элементы: {"Властелин Колец", 200}, {"Волшебник", 800}, {"Гарри Поттер", 400}, {"Три мушкетера", 300} // Вариант 1 (проходим элементы с начала в конец) LinkedListNode<Book> node = myList.First; while (node != null) { Console.WriteLine("Название=" + node.Value.BookName + " ,Цена=" + node.Value.Price); node = node.Next; // next node } // Вариант 2 (проходим элементы с конца в начало) node = myList.Last; while (node != null) { Console.WriteLine("Название=" + node.Value.BookName + " ,Цена=" + node.Value.Price); node = node.Previous; // previous node } // перебираем все элементы с помощью foreach foreach (Book item in myList) Console.WriteLine("Название=" + item.BookName + " ,Цена=" + item.Price); } } } |
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Часть кода сделал. Односвязный список без заглавного звена. Динамическая память. Перевернуть список и считать в обратном порядке. | Varner | Общие вопросы Delphi | 5 | 19.05.2016 17:30 |
Создать односвязный список и вывести его на экран. Из этого списка создать новый список по указанному ниже правилу и новый список | San111 | Паскаль, Turbo Pascal, PascalABC.NET | 1 | 15.05.2012 22:08 |
Необходимо реализовать классы, односвязный список для хранения целых чисел, односвязный список для хранен | lineico | Помощь студентам | 2 | 09.05.2011 17:45 |
[C] Односвязный список | Dieno | Помощь студентам | 2 | 19.10.2009 18:52 |
C++. Односвязный список. Уничтожить список | Olya90 | Помощь студентам | 2 | 10.06.2009 18:52 |