Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 05.12.2021
Сообщений: 19
1

Не получается вставить элемент в конец односвязного списка (проблема в Add_end)

13.01.2022, 21:07. Показов 617. Ответов 1

Author24 — интернет-сервис помощи студентам
#include<iostream>
#include<conio.h>
using namespace std;

struct A
{
int key;
};

struct List
{
A a;
List* next;
};

void Init(List** begin)
{
*begin = new List;

A a[5] = { 4,43,52,87,100 };

(*begin)->a.key = 20;
(*begin)->next = NULL;

List *end = *begin;

for (int i(0); i < 5; i++)
{
end->next = new List;
end = end->next;
end->a = a[i];
end->next = NULL;
}
}


void Add_begin(List** begin, A &a)
{
List* t = new List;
t->a = a;
t->next = *begin;
(*begin) = t;
}


void Add_end(List** begin, A& b)
{
List* tmp = *begin;
List* tmp1 = new List;
tmp1->a = b;
while (tmp)
{
tmp = tmp->next;
}

tmp = tmp1;
tmp1->next = NULL;
}


void Print(List* b)
{
List* print = b;

while (print)
{
cout << print->a.key << "->";
print = print->next;

}
cout << "NULL\n";



}



int main()
{
setlocale(LC_ALL, "rus");

List* begin = NULL;
A a = { -35 };
A c = { 969 };

Init(&begin);
Print(begin);
Add_begin(&begin, a);
Print(begin);
Add_end(&begin, c);
Print(begin);



_getch();
return 0;
}
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.01.2022, 21:07
Ответы с готовыми решениями:

Добавить элемент в конец односвязного списка
Поправьте, пожалуйста, что не так с функцией Add_end.(остальное работает) #include &lt;iostream&gt;...

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

Удалить из списка элемент перед каждым элементом со значением -2. Вставить число 33 в конец списка
Создать линейный однонаправленный список из вещественных чисел. Удалить из списка элемент перед...

Вставить элемент в конец списка
Задание. Создать двунаправленный связный список, содержащий 19 целых чисел из интервала (-4,...

1
2276 / 1767 / 741
Регистрация: 27.07.2012
Сообщений: 5,250
13.01.2022, 21:25 2
Лучший ответ Сообщение было отмечено Ammoralnik как решение

Решение

C++
1
2
3
4
5
6
7
8
9
10
11
void Add_end(List** begin, A& b)
{
  List* tmp = *begin;
  List* tmp1 = new List;
  tmp1->a = b;
  tmp1->next = NULL;
 
  while (tmp->next)
    tmp = tmp->next;
  tmp->next = tmp1;
}
1
13.01.2022, 21:25
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.01.2022, 21:25
Помогаю со студенческими работами здесь

Вставить элемент в конец списка
Есть структура struct Planet { int Way; char name; Planet *next; }; Написать...

Вставить в конец списка L новый элемент E
Вставить в конец списка L новый елемент E. что я сделал не так? Program Spisok; uses crt;...

Вставить новый элемент в начало и в конец списка
Помогите пожалуйста написать написать программки: II. Вставить новый элемент в начало и в конец...

Элемент двусвязного списка содержит указатель на строку. Вставить строку в конец списка
Элемент двусвязного списка содержит указатель на строку. Вставить строку в конец списка. В список...

Добавление в конец односвязного списка
Не получается написать эту функцию.Добавление в начало более тривиально.Сам список представлен так....

Вставка элемента в конец односвязного списка
Добрый день! Подскажите как вставить в конец списка. В моем варианте вставляется в начало. List...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru