Важная информация
Показано с 1 по 7 из 7

Тема: C# Задача на связанный список, создать метод и конструктор

  1. #1 C# Задача на связанный список, создать метод и конструктор 
    Новичок
    Регистрация
    07.01.2015
    Сообщений
    5
    Сказал(а) спасибо
    5
    Поблагодарили 0 раз(а) в 0 сообщениях
    Уважаемые форумчане! Пытаюсь разобраться со связанными списками в C#, но немного застрял. Помогите пожалуйста хоть с одной из задач, буду очень благодарен за помощь!

    1. Даны классы E и List - связанный список.
    Код:

    C# Code:
    1. class E
    2.     {
    3.         public string Name;
    4.         public E Next;
    5.     }
    6.     class List
    7.     {
    8.         public E Head;
    9.     }


    Объявить конструктор класса List - public List(string[] m) { }, который создает связанный список из массива
    В голове связанного списка должен быть последний элемент массива.


    2. Объявлен класс
    Код:

    C# Code:
    1. class Item
    2. {
    3.     public string Info;
    4.     public Item Next;
    5. }

    а также класс
    C# Code:
    1. class List
    2. {
    3.     public Item Head;
    4. }


    Объявить открытый метод AddToBack(string info) класса List, который добавляет элемент в конец связанного списка
    Последний раз редактировалось polant; 07.01.2015 в 18:18.
    Ответить с цитированием  
     

  2. #2  
    Супер модератор Аватар для >Quiet Snow<
    Регистрация
    11.04.2011
    Адрес
    Планета земля
    Сообщений
    3,939
    Сказал(а) спасибо
    1,845
    Поблагодарили 989 раз(а) в 847 сообщениях
    Записей в блоге
    1
    Шарп не юзаем, ООП не юзаем. А список это вещь простая.

    Списки бывают односвязные и двусвязные.
    В первом случае это две структуры, сам список, состоящий из элементов заданного типа и его информац. заголовок.
    В заголовке информация о первом, последнем и текущем элементе списка.
    Каждый элемент при этом содержит указатель на следующий элемент.

    Допустимые процедуры:
    - Тек указатель на начало списка
    - Тек указатель в конец списка
    - Тек указатель на следующий элемент
    - Добавить элемент в начало списка
    - Добавить элемент после текущего
    - Удалить текущий элемент
    - Получить адрес элемента
    - Получить значение элемента (UDT)
    - Записать значение элемента (UDT)

    В двусвязном списке в каждом элемента два указателя - один указывает на следующий элемент, второй на предыдущий.
    Указатель на предыдущий в первом элементе пустой, хотя и непринципиально. Проверка выхода за список осуществляется
    по сравнению указателей в инф. заголовке.

    Допустимые процедуры:
    - Тек указатель на начало списка
    - Тек указатель в конец списка
    - Тек указатель на следующий элемент
    - Тек указатель на предыдущий элемент
    - Добавить элемент перед текущим
    - Добавить элемент после текущего
    - Удалить текущий элемент
    - Получить адрес элемента
    - Получить значение элемента (UDT)
    - Записать значение элемента (UDT)

    Процедуры, что-либо производящие в начале и конце списка, выполняются через уже имеющиеся функции
    перемещения по списку и работы с текущим элементом.

    Не знаю как на шарпе, а на бейсиках и Паскалях код не очень сложный и сводится к работе с указателями и UDT.
    Обучение прикладному программированию(по skype), качественно, недорого, 18+, вопросы в личку.
    «Если вы ничего не сделаете, я уверяю вас, ничего и не произойдёт» © Жак Фреско
    Ограниченно модерирую.
    Ответить с цитированием  
     

  3. Пользователь сказал cпасибо:

    polant (09.01.2015)

  4. #3  
    Admin
    Регистрация
    09.04.2014
    Сообщений
    1,220
    Сказал(а) спасибо
    781
    Поблагодарили 493 раз(а) в 405 сообщениях
    Цитата Сообщение от >Quiet Snow< Посмотреть сообщение
    Шарп не юзаем, ООП не юзаем. А список это вещь простая.
    ну-ну не пугай людей....
    есть хорошие спецы на форуме - Игорь Черепов, просто каникулы....)) скину ему вконтакт.
    Ответить с цитированием  
     

  5. 2 пользователя(ей) сказали cпасибо:

    >Quiet Snow< (08.01.2015), polant (09.01.2015)

  6. #4  
    Разбирающийся
    Регистрация
    18.04.2014
    Адрес
    Ярославль
    Сообщений
    69
    Сказал(а) спасибо
    0
    Поблагодарили 65 раз(а) в 33 сообщениях
    Записей в блоге
    2
    Студии под рукой нету. на первый вопрос что-то вроде
    C# Code:
    1. class E
    2. {
    3.     public string Name;
    4.     public E Next;
    5. }
    6.  
    7. class List
    8. {
    9.     public E Head;
    10.  
    11. public List(string[] values)
    12. {
    13. Array.reverse(values);
    14.     E current = [Ссылки могут видеть только зарегистрированные пользователи. ] E();
    15. e.Name = values[0];
    16. Head = current;
    17. for(int i=1;i<values.length;i++){
    18.    E  next = [Ссылки могут видеть только зарегистрированные пользователи. ] E();
    19.    next.Name=values[i];
    20.    current.Next=next;
    21.    current=next;
    22. }
    23. }
    24. }
    Ответить с цитированием  
     

  7. 3 пользователя(ей) сказали cпасибо:

    >Quiet Snow< (08.01.2015), polant (09.01.2015)

  8. #5  
    Разбирающийся
    Регистрация
    18.04.2014
    Адрес
    Ярославль
    Сообщений
    69
    Сказал(а) спасибо
    0
    Поблагодарили 65 раз(а) в 33 сообщениях
    Записей в блоге
    2
    Второй что-то вроде :
    C# Code:
    1. class Item
    2. {
    3.     public string Info;
    4.     public Item Next;
    5. }
    6.  
    7. class List
    8. {
    9.     public Item Head;
    10.  
    11. public void dAddToBack(Item item)
    12. {
    13. Item last = Head;
    14. while(last.Next!=null){
    15.     last = last.Next;
    16. }
    17. last.Next = item;
    18. }
    19. }
    Ответить с цитированием  
     

  9. 3 пользователя(ей) сказали cпасибо:

    >Quiet Snow< (08.01.2015), polant (09.01.2015)

  10. #6  
    Новичок
    Регистрация
    07.01.2015
    Сообщений
    5
    Сказал(а) спасибо
    5
    Поблагодарили 0 раз(а) в 0 сообщениях
    Спасибо большое!!
    Ответить с цитированием  
     

  11. #7  
    Новичок
    Регистрация
    07.01.2015
    Сообщений
    5
    Сказал(а) спасибо
    5
    Поблагодарили 0 раз(а) в 0 сообщениях
    [Ссылки могут видеть только зарегистрированные пользователи. ]
    если можно, посмотрите пожалуйста вот эту задачу, буду очень благодарен!!)
    Ответить с цитированием  
     

Информация о теме
Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Список фрилансеров [09.06.14 - 01.01.15]
    от rrrFer в разделе Фриланс
    Ответов: 1
    Последнее сообщение: 08.06.2014, 22:09
  2. Ответов: 0
    Последнее сообщение: 12.03.2014, 11:05
  3. Конструктор языков программирования
    от Kakos_nonos в разделе Общие вопросы программирования
    Ответов: 2
    Последнее сообщение: 31.05.2011, 19:05
  4. Метод найменьших квадратов
    от layt в разделе Basic
    Ответов: 2
    Последнее сообщение: 14.04.2011, 13:13
  5. Дособирать конструктор сайтов
    от tuntui в разделе Изготовление сайтов и дизайн
    Ответов: 4
    Последнее сообщение: 08.02.2011, 10:40
Ваши права
  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •