Форум программистов, компьютерный форум CyberForum.ru

Однонаправленный связанный список (Вставить новый узел с нулевым значением перед первым отрицательным элементом...) - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 5.00
PR[E]D@TOR
1 / 1 / 0
Регистрация: 27.11.2011
Сообщений: 23
12.02.2013, 22:53     Однонаправленный связанный список (Вставить новый узел с нулевым значением перед первым отрицательным элементом...) #1
Помогите выполнить задание:
Тип информационной части узла списка - INT
Вид списка - Однонаправленный связанный список
Дополнительные Операции - Вставить новый узел с нулевым значением перед первым отрицательным элементом, Удалить узлы с четными значениями, Подсчитать количество узлов с нечетными значениями

Добавлено через 22 часа 16 минут
помогите пожалуйста
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.02.2013, 22:53     Однонаправленный связанный список (Вставить новый узел с нулевым значением перед первым отрицательным элементом...)
Посмотрите здесь:

C++ Функция addEven для добавления элементов перед первым элементом с четным значением
C++ Перед каждым положительным значением массива вставить элемент с нулевым значением
Перед каждым положительным элементом массива вставить элемент с нулевым значением, перезаписать эти элементы во второй массив C++
Вставить перед каждой серией массива элемент с нулевым значением. C++
C++ Получить разницу между первым элементом последовательности и числом, стоящим перед первым отрицательным
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Wolkodav
 Аватар для Wolkodav
599 / 452 / 32
Регистрация: 18.09.2012
Сообщений: 1,685
12.02.2013, 23:09     Однонаправленный связанный список (Вставить новый узел с нулевым значением перед первым отрицательным элементом...) #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
struct Node
{
int data;
Node* next;
};
void Add(Node* first,int value)
{
Node* tmp=first;
while (tmp->next=NULL)
tmp=tmp->next;
Node* add=new Node();
add->data=value;
tmp->next=add;
return;
}
 
void AddAfterOtr(Node* first)
{
Node* tmp=first;
while (tmp->data>0)
tmp=tmp->next;
Node* add=new Node();
add->data=0;
add->next=tmp->next;
tmp->next=add;
return;
}
Тут добавление простого узла с заданым значением и Вставить новый узел с нулевым значением перед первым отрицательным элементом.
Остальное не сложно.
Kuzia domovenok
 Аватар для Kuzia domovenok
1883 / 1738 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
12.02.2013, 23:15     Однонаправленный связанный список (Вставить новый узел с нулевым значением перед первым отрицательным элементом...) #3
Wolkodav, в односвязанном списке легче было бы добавлять в начало
C++
1
2
3
4
5
6
7
8
void Add(Node* first,int value)
{
 
Node* add=new Node();
add->data=value;
add->next=first;
first=add;
}
Wolkodav
 Аватар для Wolkodav
599 / 452 / 32
Регистрация: 18.09.2012
Сообщений: 1,685
12.02.2013, 23:17     Однонаправленный связанный список (Вставить новый узел с нулевым значением перед первым отрицательным элементом...) #4
Да, вы правы, что-то перемудрил, сори.
Kuzia domovenok
 Аватар для Kuzia domovenok
1883 / 1738 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
12.02.2013, 23:26     Однонаправленный связанный список (Вставить новый узел с нулевым значением перед первым отрицательным элементом...) #5
хотя.... и я ошибся.
Чтобы это сработало first=add;
first не должен передаваться как аргумент функции.
после выхода из функции поля first->... могут измениться. сам first - нет!
я просто привык, что обычно first хранится как поле класса "список", а add - метод этого класса.

Добавлено через 3 минуты
вот, что я имел в виду
C++
1
2
3
4
5
6
7
8
9
10
11
12
struct Node
{
int data;
Node* next;
} *first;
void Add(int value)
{ 
Node* add=new Node();
add->data=value;
add->next=first;
first=add;
}
Wolkodav
 Аватар для Wolkodav
599 / 452 / 32
Регистрация: 18.09.2012
Сообщений: 1,685
12.02.2013, 23:27     Однонаправленный связанный список (Вставить новый узел с нулевым значением перед первым отрицательным элементом...) #6
( блин, и такое бывает)

Добавлено через 16 секунд
Я вас понял, что вы имели ввиду.
Yandex
Объявления
12.02.2013, 23:27     Однонаправленный связанный список (Вставить новый узел с нулевым значением перед первым отрицательным элементом...)
Ответ Создать тему
Опции темы

Текущее время: 04:24. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru