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

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

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

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

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

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

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

Реализовать односвязный список и обеспечить его сортировку по одному из полей структуры. C++
Односвязный список C++
как поместить в нужное место C++
Реализовать односвязный список, в котором бы логика обхода его элементов задавалась бы пользователем. C++
C++ Односвязный список
Односвязный список C++
C++ Реализовать односвязный список, элементы которого содержат целые числа
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
stima
444 / 293 / 20
Регистрация: 22.03.2011
Сообщений: 957
Завершенные тесты: 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 //ошибка компиляции. переменная а вам не принадлежит
   }
};
yoghurt92
374 / 345 / 22
Регистрация: 17.05.2012
Сообщений: 1,049
15.04.2013, 21:41     Односвязный список: уничтожить н-ный эл-т и на его место поместить эл-т, нр которого хранится в н-ном эл-те #22
stima, к чему вы это все?

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

Добавлено через 1 минуту
на счет const согласен, по привычке написал на автомате
stima
444 / 293 / 20
Регистрация: 22.03.2011
Сообщений: 957
Завершенные тесты: 2
15.04.2013, 21:42     Односвязный список: уничтожить н-ный эл-т и на его место поместить эл-т, нр которого хранится в н-ном эл-те #23
Да так, смотрел тему и заметил это.

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

п.с. Вы прочитайте, что я писал)). Это ошибки)
yoghurt92
374 / 345 / 22
Регистрация: 17.05.2012
Сообщений: 1,049
15.04.2013, 21:44     Односвязный список: уничтожить н-ный эл-т и на его место поместить эл-т, нр которого хранится в н-ном эл-те #24
stima, какая тут ошибка?
stima
444 / 293 / 20
Регистрация: 22.03.2011
Сообщений: 957
Завершенные тесты: 2
15.04.2013, 21:45     Односвязный список: уничтожить н-ный эл-т и на его место поместить эл-т, нр которого хранится в н-ном эл-те #25
Часть (Node) хранит в себе весь список (List) ?

C++
1
2
struct ListNode {};
class List { ListNode *head; };
yoghurt92
374 / 345 / 22
Регистрация: 17.05.2012
Сообщений: 1,049
15.04.2013, 21:49     Односвязный список: уничтожить н-ный эл-т и на его место поместить эл-т, нр которого хранится в н-ном эл-те #26
Цитата Сообщение от stima Посмотреть сообщение
struct ListNode {};
class List { ListNode *head; };

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

Добавлено через 10 минут
stima, и если вы не понимаете для чего нужен класс ListNode, я вам объясню, а нести бред не надо. В классе ListNode существует поле Head(голова списка), и методы для работы со списком. Что вам еще не понятно? Вам каждую строчку пояснить?
stima
444 / 293 / 20
Регистрация: 22.03.2011
Сообщений: 957
Завершенные тесты: 2
15.04.2013, 22:13     Односвязный список: уничтожить н-ный эл-т и на его место поместить эл-т, нр которого хранится в н-ном эл-те #29
Вы меня расстроили Учите английский.
yoghurt92
374 / 345 / 22
Регистрация: 17.05.2012
Сообщений: 1,049
15.04.2013, 22:17     Односвязный список: уничтожить н-ный эл-т и на его место поместить эл-т, нр которого хранится в н-ном эл-те #30
stima, вы мне не учитель английского, конкретно, что по коду не так? Если ничего путевого сказать не можете, тогда ищите другого собеседника для спора.
stima
444 / 293 / 20
Регистрация: 22.03.2011
Сообщений: 957
Завершенные тесты: 2
15.04.2013, 22:23     Односвязный список: уничтожить н-ный эл-т и на его место поместить эл-т, нр которого хранится в н-ном эл-те #31
Я Вам попытаюсь обьяснить, то что вы написали.

C++
1
2
класс Список {};
класс УзелСписка { Список* голова };
и то что я говорю нужно написать

C++
1
2
класс УзелСписка {}
класс Список { УзелСписка *голова }
yoghurt92
374 / 345 / 22
Регистрация: 17.05.2012
Сообщений: 1,049
15.04.2013, 22:25     Односвязный список: уничтожить н-ный эл-т и на его место поместить эл-т, нр которого хранится в н-ном эл-те #32
stima, ну а вам не все ровно? ну написал так и написал, главное что код работает и все верно, ну а что переставил название структуры и класса, так не все ли равно?
stima
444 / 293 / 20
Регистрация: 22.03.2011
Сообщений: 957
Завершенные тесты: 2
15.04.2013, 22:28     Односвязный список: уничтожить н-ный эл-т и на его место поместить эл-т, нр которого хранится в н-ном эл-те #33
Ну и что что насрал в раковину, я же подтерся. Пишите так дальше, с такими писаками, я буду больше зарабатывать. А в такой манере разговор окончен вообще.
yoghurt92
374 / 345 / 22
Регистрация: 17.05.2012
Сообщений: 1,049
15.04.2013, 22:42     Односвязный список: уничтожить н-ный эл-т и на его место поместить эл-т, нр которого хранится в н-ном эл-те #34
stima, если вам спорить не с кем, идите гуляйте дальше.

Добавлено через 11 минут
stima, такой храбрый интернет-боец люблю таких, они в сети всегда такие крутые, а в жизни совсем другое
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.11.2013, 22:05     Односвязный список: уничтожить н-ный эл-т и на его место поместить эл-т, нр которого хранится в н-ном эл-те
Еще ссылки по теме:

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

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

Или воспользуйтесь поиском по форуму:
demonmail999
0 / 0 / 0
Регистрация: 11.09.2013
Сообщений: 3
26.11.2013, 22:05     Односвязный список: уничтожить н-ный эл-т и на его место поместить эл-т, нр которого хранится в н-ном эл-те #35
помогите пожалуйста в таком задании. Создать список односвязный в нем найти минимальный и максимальный элемент. после этого минимальный поместить на первое место а максимальный на последнее.
создаю список вот так
Код
#include <iostream>
using namespace std;

struct list
{
   int item; //полезная информация узла списка
   list *next;//ссылка на следующий элемент списка.
};

void show (list *start)//параметр - указатель на начало списка.
{
    list *p_list; //рабочий указатель
    p_list = start->next;//в начале он ссылается на второй узел списка.
    while (p_list != NULL)
    {
        cout << p_list->item <<" ";//Выводим данные
        p_list = p_list->next;//передвигаем указатель на один узел.
    }
}

int main()
{
    list *start = new list;
    start->next = NULL;
    list *p_list = start;
    for (int i=0; i<5; i+=1)
    {
        list *tmp = new list;
        cout << "Vvedite " <<i<< " element spiska ";
		cin >> tmp->item;
        tmp->next = NULL;
        p_list->next = tmp;
        p_list = p_list->next;
    }
    show(start);
}
Yandex
Объявления
26.11.2013, 22:05     Односвязный список: уничтожить н-ный эл-т и на его место поместить эл-т, нр которого хранится в н-ном эл-те
Ответ Создать тему
Опции темы

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