Добавление нового элемента в конец односвязного списка - C#
Формулировка задачи:
Здравствовать всем !
Заклинило меня на одной ,довольно простой задаче.
Есть код реализации простого односвязного списка:
Требуется изменить код, чтобы новый элемент цеплялся
сразу в конец списка , не проходя по всему списку.
Я пытался возле ссылки на начало списка создать ссылку на
конец списка
Listenelement listenEnd = new Listenelement();
Пытаюсь изменить метод AddNext , одна из попыток :
затем в конце главного добавить
listenEnd.PrintOut();
Понимаю что это примитивно , также понимаю что решение
долно быть простым , но...
Заранее благодарен всем кто ответит и отчехвостит меня за тупость.
Листинг программы
- /*######################################
- Односвязный список
- ######################################*/
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- namespace Cshp05a10
- {
- class Listenelement
- {
- string daten;
- Listenelement next;
- //Метод для ввода данных
- public void SetDaten(string datenNeu)
- {
- daten = datenNeu;
- //обозначаем конец списка
- next = null;
- }
- // Метод для ввода нового элемента
- public void AddNext(string datenNeu)
- {
- if (next == null)
- {
- next = new Listenelement();
- next.SetDaten(datenNeu);
- }
- else
- next.AddNext(datenNeu);
- }
- //Метод для вывода списка
- public void PrintOut()
- {
- Console.WriteLine(daten);
- if (next != null)
- next.PrintOut();
- }
- }
- class Program
- {
- static void Main(string[] args)
- {
- //ссылка для нового элемента
- Listenelement listenBeginn = new Listenelement();
- //вводим данные для первого элемента
- listenBeginn.SetDaten("Element 1");
- //прицепляем следующие элементы
- for (int element = 2; element < 4; element++)
- listenBeginn.AddNext("Element " + element);
- //выводим список
- listenBeginn.PrintOut();
- }
- }
- }
Листинг программы
- // Метод для ввода нового элемента
- public void AddNext(string datenNeu)
- {
- if (next != null)
- {
- next.AddNext(datenNeu);
- }
- else
- next = new Listenelement();
- next.SetDaten(datenNeu);
- }
Решение задачи: «Добавление нового элемента в конец односвязного списка»
textual
Листинг программы
- Listenelement listenEnd = new Listenelement();
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д