Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > .NET > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail


Донат для форума - использовать для поднятия настроения себе и модераторам

А ещё здесь можно купить рекламу за 15 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

Ответ
 
Опции темы
Старый 17.04.2019, 17:49   #1
astero
Новичок
 
Регистрация: 17.04.2019
Сообщений: 2
Репутация: 10
По умолчанию C# Добавления нового элемента в односвязный список каждый раз слева от последнего

Добрый день.
Помогите разобраться.
Как переделать метод Insert_Element() чтобы добавлять новый элемент не справа а слева?
Код:
class Program
    {
        static void Main(string[] args)
        {
        int n;
            OwnList list = new OwnList();
                     n = int.Parse(Console.ReadLine());
                          list.Insert_Element(ref list._current, n);
        }
    }
public class OwnListElem
    {
        public int Value;
        public OwnListElem Next;
        public OwnListElem(OwnListElem next, int value)
        {
            Next = next;
            Value = value;
 
        }
    }
    public class OwnList
    {
        public OwnListElem _head = null;
        public OwnListElem _current = null;
        public OwnList() { }
 
public void Insert_Element(ref OwnListElem current, int value)//вставка последующего элемента
        {
            if (_head == null)
            {
                Insert_First_Element(value);
                _current = _head;
            }
            else
            {
                OwnListElem temp = new OwnListElem(null, value);
                temp.Next = _current.Next;
                _current.Next = temp;
                _current = temp;
            }
            current = _current;
 
        }
public void Insert_First_Element(int value)//вставка первого элемента
            {
                OwnListElem temp = new OwnListElem(null, value);
                OwnList a = new OwnList();
 
                if (_head == null)
                {
                    _head = temp;
                }
                else
                {
                    temp.Next = _head;
                    _head = temp;
                }
            }
    }
astero вне форума   Ответить с цитированием
Старый 18.04.2019, 09:48   #2
WorldMaster
Профессионал
 
Аватар для WorldMaster
 
Регистрация: 25.08.2011
Адрес: Россия, Мурманск
Сообщений: 2,158
Репутация: 607

icq: 359393755
По умолчанию

У вас же функция Insert_First_Element уже выполняет это.
Код:
temp._next = _head;
_head = temp;
_current = temp;
__________________
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два.
Если помог - нажми на весы
WorldMaster вне форума   Ответить с цитированием
Старый 15.05.2019, 20:49   #3
astero
Новичок
 
Регистрация: 17.04.2019
Сообщений: 2
Репутация: 10
По умолчанию

Цитата:
Сообщение от WorldMaster Посмотреть сообщение
У вас же функция Insert_First_Element уже выполняет это.
Слева от текущего,то бишь крайнего правого
astero вне форума   Ответить с цитированием
Старый 17.05.2019, 19:31   #4
pu4koff
ПрофессионалФорумчанин
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,487
Репутация: 3616
По умолчанию

храните еще ссылку на предпоследний элемент или считать, что ссылка не next, а prior и работать со списком так, что элемент хранит ссылку не на следующий элемент, а на предыдущий.
__________________
http://coub.com/view/2hhtg
pu4koff вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перегрузка операций добавления нового элемента в динамическом массиве Yavorsky Общие вопросы C/C++ 1 12.10.2018 22:50
Перегрузка операций добавления и удаления нового элемента в динамическом массиве Yavorsky Общие вопросы C/C++ 1 11.10.2018 22:52
Односвязный список, добавление элемента Buserandi Общие вопросы C/C++ 13 27.07.2012 22:29
Необходимо реализовать классы, односвязный список для хранения целых чисел, односвязный список для хранен lineico Помощь студентам 2 09.05.2011 17:45


03:59.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.

Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru