Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 5.00
w0nder
0 / 0 / 0
Регистрация: 23.11.2012
Сообщений: 131
#1

Односвязный список: уничтожить н-ный эл-т и на его место поместить эл-т, нр которого хранится в н-ном эл-те - C++

08.04.2013, 19:20. Просмотров 1223. Ответов 34
Метки нет (Все метки)

Написать функцию, которая уничтожает n-ный элемент в списке и на его место помещает элемент, номер которого хранится в n-ном элементе. (перебирать связи, а не копировать значения элементов)

Программа должна давать возможность создать односвязный список (используя динамические структуры данных), в котором хранятся значения определенного типа. Должна быть предусмотрена возможность пополнить список новым элементом (добавить элемент в конец списка), напечатать список, уничтожить список. Уничтожая список, нужно корректно освободить память.
В главной программе:
а)должна быть возможность вводить элементы списка (создать произвольный список),
b)применить написанную функцию к списку
c)напечатать список после работы функции
d)в конце уничтожить список (используя delete)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.04.2013, 19:20
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Односвязный список: уничтожить н-ный эл-т и на его место поместить эл-т, нр которого хранится в н-ном эл-те (C++):

Реализовать односвязный список, элементы которого содержат целые числа - C++
1.1 «Список I». Реализовать односвязный список, элементы которого содержат целые числа. Реализовать при этом функции list_new() (создать...

Как удалить с формы UserControl, а на его место поместить второй? - Visual Basic .NET
Приветствую вас господа! Есть форма на ней расположено 4 кнопки каждая вызывает свой UserControl , каждый UserControl при запуске...

Создать кольцевой односвязный список, элементы которого будут вводиться с клавиатуры - C (СИ)
Нужно сделать кольцевой односвязный список, элементы которого будут вводиться с клавиатуры. Я новичок в Си, создал список, получил...

Создать односвязный линейный список, элементами которого являются случайные натуральные числа - C++
Создать односвязный линейный список, элементами которого являются случайные натуральные числа. Напечатать значения элементов, расположенных...

В матрице A(n×m) найти максимальный элемент и путем перестановки строк и столбцов поместить его на место элемента a 00 - C++
pomogite....pozhaluysta...) В матрице A(n×m) найти максимальный элемент и путем перестановки строк и столбцов поместить его на место...

Что такое односвязный список и как его реализовать - C#
Господа, что такое односвязный список и как его реализовать в шарпе. Всем спасибо

34
yoghurt92
374 / 345 / 22
Регистрация: 17.05.2012
Сообщений: 1,049
15.04.2013, 21:21 #16
stima, вы собираетесь в классе инициализировать поля? Это возможно только в конструкторе или методами.
0
stima
491 / 341 / 40
Регистрация: 22.03.2011
Сообщений: 1,096
Завершенные тесты: 2
15.04.2013, 21:23 #17
Цитата Сообщение от yoghurt92 Посмотреть сообщение
List *temp = Head;
while(temp -> next != NULL)
* * * * * * * * * * temp = temp -> next;
По договоренности, добавление в список должно происходить за константную сложность.

Добавлено через 1 минуту
C++
1
2
3
4
5
6
class Foo {
public:
    Foo() : bar(NULL) { //инициализация
   foo = bar; //присваивание 
   }
};
0
yoghurt92
374 / 345 / 22
Регистрация: 17.05.2012
Сообщений: 1,049
15.04.2013, 21:24 #18
stima, инициализация в конструкторе, присваивание уже может быть в методах.
0
stima
491 / 341 / 40
Регистрация: 22.03.2011
Сообщений: 1,096
Завершенные тесты: 2
15.04.2013, 21:26 #19
Инициализация в списке инициализации.

C++
1
2
3
4
5
class Foo {
    Foo() {
    bar = -1; // ЭТО ПРИСВАИВАНИЕ.
    }
};
Добавлено через 54 секунды
Вовпрос на засыпку, как проинициализировать закрытые поля базового класса?)
0
yoghurt92
374 / 345 / 22
Регистрация: 17.05.2012
Сообщений: 1,049
15.04.2013, 21:28 #20
stima, это я у вас хотел спросить
0
stima
491 / 341 / 40
Регистрация: 22.03.2011
Сообщений: 1,096
Завершенные тесты: 2
15.04.2013, 21:35 #21
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
class A {
public:
   A(int a) : a(a) {}
 
private:
   int a;
};
 
class B : public A {
public:
   B(int b) : A(b)
   {
   //a = b //ошибка компиляции. переменная а вам не принадлежит
   }
};
0
yoghurt92
374 / 345 / 22
Регистрация: 17.05.2012
Сообщений: 1,049
15.04.2013, 21:41 #22
stima, к чему вы это все?

Добавлено через 1 минуту
stima, если вы хотите указать на ошибки, то покажите, а писать не по теме не надо.

Добавлено через 1 минуту
на счет const согласен, по привычке написал на автомате
0
stima
491 / 341 / 40
Регистрация: 22.03.2011
Сообщений: 1,096
Завершенные тесты: 2
15.04.2013, 21:42 #23
Да так, смотрел тему и заметил это.

C++
1
2
3
4
class ListNode
{
* * private:
* * * * List *Head;
Ну а потом понесло на исправления)

п.с. Вы прочитайте, что я писал)). Это ошибки)
0
yoghurt92
374 / 345 / 22
Регистрация: 17.05.2012
Сообщений: 1,049
15.04.2013, 21:44 #24
stima, какая тут ошибка?
0
stima
491 / 341 / 40
Регистрация: 22.03.2011
Сообщений: 1,096
Завершенные тесты: 2
15.04.2013, 21:45 #25
Часть (Node) хранит в себе весь список (List) ?

C++
1
2
struct ListNode {};
class List { ListNode *head; };
0
yoghurt92
374 / 345 / 22
Регистрация: 17.05.2012
Сообщений: 1,049
15.04.2013, 21:49 #26
Цитата Сообщение от stima Посмотреть сообщение
struct ListNode {};
class List { ListNode *head; };

где вы это взяли?
есть структура List в которой описаны 2 поля, данные и указатель на следующий элемент спика, и класс для работы с этим списком. Можно было написать обычные функции, но я написал класс для работы со списком, внутри это класса указатель на начало списка и функции добавления новых элементов, что не понятно?
0
stima
491 / 341 / 40
Регистрация: 22.03.2011
Сообщений: 1,096
Завершенные тесты: 2
15.04.2013, 21:56 #27
Вы читатете то что Вам пишут?, сравните свой код и мой код, тот который Вы цитировали.
0
yoghurt92
374 / 345 / 22
Регистрация: 17.05.2012
Сообщений: 1,049
15.04.2013, 22:10 #28
stima, это вы где взяли код из 25 поста? я такого не писал.

Добавлено через 10 минут
stima, и если вы не понимаете для чего нужен класс ListNode, я вам объясню, а нести бред не надо. В классе ListNode существует поле Head(голова списка), и методы для работы со списком. Что вам еще не понятно? Вам каждую строчку пояснить?
0
stima
491 / 341 / 40
Регистрация: 22.03.2011
Сообщений: 1,096
Завершенные тесты: 2
15.04.2013, 22:13 #29
Вы меня расстроили Учите английский.
0
yoghurt92
374 / 345 / 22
Регистрация: 17.05.2012
Сообщений: 1,049
15.04.2013, 22:17 #30
stima, вы мне не учитель английского, конкретно, что по коду не так? Если ничего путевого сказать не можете, тогда ищите другого собеседника для спора.
0
15.04.2013, 22:17
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.04.2013, 22:17
Привет! Вот еще темы с ответами:

В каждом столбце матрицы [nxn] найти положительный минимальный элемент и поместить его на соответствующее место главной диагонали - Delphi
В каждом столбце матрицы найти положительный минимальный элемент и поместить его на соответствующее место главной диагонали Нужно...

На место первой строки матрицы поместить вторую, на место второй — третью и т.д. - Turbo Pascal
Из данной матрицы получить другую следующим образом: на место первой строки поместить вторую, на место второй третью и. т.д., на...

Сформировать односвязный список, вывести на консоль отрицательные значения его элементов - C#
сформировать односвязный список.Просмотреть в обратном направлении и вывести на консоль отрицательные значения его элементов. ...

Реализовать односвязный список и обеспечить его сортировку по одному из полей структуры. - C++
Реализовать односвязный список и обеспечить его сортировку по одному из полей структуры. зарание спс Добавлено через 37 минут 26...


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

Или воспользуйтесь поиском по форуму:
30
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.