08.04.2020, 17:58 [+3 UTC]
в нашей команде: 4 353 чел. | участники онлайн: 10 (рекорд: 21)

:: РЕГИСТРАЦИЯ

задать вопрос

все разделы

правила

новости

участники

доска почёта

форум

блоги

поиск

статистика

наш журнал

наши встречи

наша галерея

отзывы о нас

поддержка

руководство

Версия системы:
7.85 (07.04.2020)
JS-v.1.38 | CSS-v.3.37

Общие новости:
28.03.2020, 20:29

Форум:
08.04.2020, 15:18

Последний вопрос:
08.04.2020, 17:10
Всего: 151970

Последний ответ:
08.04.2020, 15:24
Всего: 259943

Последняя рассылка:
08.04.2020, 15:16

Писем в очереди:
0

Мы в соцсетях:

Наша кнопка:

RFpro.ru - здесь вам помогут!

Отзывы о нас:
27.08.2018, 17:39 »
dar777
У меня нет слов. Это просто чудо! [вопрос № 193483, ответ № 276656]
19.02.2012, 06:13 »
Васильева Наталья Дмитриевна
Хотелось бы побольше узнать о самом Тарасове... [вопрос № 185462, ответ № 269999]

РАЗДЕЛ • С / С++

Создание программ на языках C и C++.

[администратор рассылки: Андрей Кузнецов aka Dr_Andrew (Старший модератор)]

Лучшие эксперты в этом разделе

Коцюрбенко Алексей Владимирович
Статус: Старший модератор
Рейтинг: 1008
CradleA
Статус: Профессор
Рейтинг: 567
solowey
Статус: Специалист
Рейтинг: 522

Перейти к консультации №:
 

Консультация онлайн # 145313
Раздел: • С / С++
Автор вопроса: Borman Karlovich
Отправлена: 28.09.2008, 16:43
Поступило ответов: 1

Здравствуйте уважаемые эксперты! Помогите, пожалуйста, с реализацией такой программы.
Необходимо реализовать на языке C++ следующий набор операций с двусвязным линейным списком:
• инициализация списка;
• уничтожение списка с освобождением памяти;
• добавление узла в голову списка;
• добавление узла в хвост списка;
• удаление узла из головы списка;
• удаление узла из хвоста списка;
• выдача текущего списка на экран
• добавить новый узел в указанную позицию;
• поменять местами первый и последний узлы.

Состояние: Консультация закрыта

Ответ # 230726 от Denisss


Здравствуйте, Borman Karlovich!

В приложении находится пример подобной реализации (сохраните в файл с именем dllist.h). Список выполнен в виде шаблона класса. Пример использования шаблона:

#include <iostream>
#include "dllist.h"

using std::cout;
using std::endl;

int main()
{
	// Список целых чисел (int)
	DLList<int> list;

	int i;
    // Вставка 5 элементов в конец списка
	for (i = 1; i <= 5; ++i) list.push_back(i);

	// Вставка 5 элементов в начало списка
	for (i = -1; i >= -5; --i) list.push_front(i);
	// Вставка в позицию с номером 5 (нумерация от нуля)
	list.insert(5, 6);
	// Вывод списка
	list.print(cout); cout << endl;

    // Удаление элемента из начала списка
    list.pop_front();
    // Проверка
    list.print(cout); cout << endl;
    // Удаление из конца списка
    list.pop_back();
    // Проверка
    list.print(cout); cout << endl;
    // Меняем первый и последний элементы местами
    list.swapFrontBack();
    // Доступ к элементам списка по индексу
    list[4] = 100;
    list.print(cout);
	// Размер списка
	cout << "\nSize: " << list.size() << endl;

	return 0;
}


Список выполняемых классом DLList<T> операций:
• инициализация списка;
- конструктор (выполняется автоматически, при создании объекта)
• уничтожение списка с освобождением памяти;
- деструктор (автоматически, при удалении объекта)
• добавление узла в голову списка;
- void push_front(...)
• добавление узла в хвост списка;
void push_back(...)
• удаление узла из головы списка;
- T pop_front()
• удаление узла из хвоста списка;
- T pop_back()
• выдача текущего списка на экран
- void print(...)
• добавить новый узел в указанную позицию;
- void insert(...)
• поменять местами первый и последний узлы.
- void swapFrontBack()

Удачи!

Приложение:


Консультировал: Denisss
Дата отправки: 29.09.2008, 20:08

Рейтинг ответа:

0

[подробно]

Сообщение
модераторам

Отправлять сообщения
модераторам могут
только участники портала.
ВОЙТИ НА ПОРТАЛ »
регистрация »

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

Яндекс Rambler's Top100

главная страница | поддержка | задать вопрос

Время генерирования страницы: 0.18324 сек.

© 2001-2020, Портал RFPRO.RU, Россия
Калашников О.А.  |  Гладенюк А.Г.
Версия системы: 7.85 от 07.04.2020
Версия JS: 1.38 | Версия CSS: 3.37