Добавление нового элемента в конец односвязного списка - 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();