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

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

Войти
Регистрация
Восстановить пароль
 
quazarija
0 / 0 / 0
Регистрация: 21.02.2016
Сообщений: 48
#1

Операции над двусвязным списком - C++

22.03.2016, 09:14. Просмотров 161. Ответов 0
Метки нет (Все метки)

Здравствуйте, друзья! Есть такая структура данных :
C++
1
2
3
4
5
struct List {
    int data; 
    List *next; 
    List *back;
};
С помощью нее реализуем простой двусвязный список
C++
1
2
List *node = new List;
    node->next = NULL;
Нужна помощь с реализацией функций для таких операций с подобным списком как: Очистить список
C++
1
2
3
4
5
6
7
8
void destroy(List **head){
    List *node = *head;
    while (*head != NULL){
        node = *head;
        *head = (*head)->next;
        delete node;
    }
}
Создана вот такая функция, но хочу чтоб в функцию передавался не указатель на первый элемент, а функция не принимала никаких значений, а просто разрушала один единственный список.

Нужно добавить элемент перед первым элементом списка. Как я понимаю, что нужно все элементы сдвинуть, а указатель на первый поместить на добавляемый элемент, но я затрудняюсь с реализацией подобной функции.
C++
1
2
3
4
5
6
7
void push_start(List **head, int data){
    List *node = new List;
    node->next = *head;
    node->back = NULL;
    node->data = data;
    *head = node;
}
Вроди бы так, но не уверен в правильности.
Еще нужно получить указатель на I-тый элемент списка, а так же получить номер элемента имея только указатель на него.
Еще нужна функция для удаления не всего списка, а части начиная из А до Б.
Прошу строго не судить за мои делетантские знания С++, проштудировал интернет и книги... безрезультатно
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.03.2016, 09:14     Операции над двусвязным списком
Посмотрите здесь:

Элементарные операции с динамических двусвязным списком - C++
Всем доброго времени суток! Нужна ваша помощь! В общем задание: Сформировать динамический двусвязный список. Структура содержит...

Операции над однонаправленным списком - C++
В лабораторній роботі необхідно організувати однонапрямлений список із структурою взятої із лабораторної роботи №1 згідно з варіантом та...

Реализовать простейшие операции над списком: вставка, удаление, вывод на экран - C++
Народ спасайте! Помогите реализовать простейшие операции над списком: вставка, удаление, вывод на экран. Я уже столько книг перечитал на...

Программа с двусвязным списком крашится - C++
Здравствуйте! написал код для двусвязного списка, проблема следующая: все компилируется, запускается интерфейс, но какую бы функцию я...

Разработать программу работы с двусвязным списком - C++
Разработать программу работы с двусвязным списком. Програма длжна реализовать сл. процедуры, вызываемые из меню: -построение списка...

Работа с двусвязным нециклическим списком: инверсия списка - C++
Есть программа для работы с двухсвязным списком. Есть проблемы с функцией инверсии списка. Visual C++ выдает следующую ошибку: ...

Работа с двусвязным списком. Проблема с функцией удаления с конца - C++
Есть задача на двусвязный список, но наблюдается непонятная ошибка. Если сделать функцию удаления всех элементов через функцию удаления с...

Работа с двусвязным списком, поиск и перемена местами двух элементов в списке - C++
Здравствуйте! Есть список List http://pastebin.com/tNSztz50 Не могу разобраться, как найти элемент в списке по его значению, и как...

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

Программа на операции со списком - C++
Имею код операций с списком, но только прототип, #include <iostream> #include <windows.h> using namespace std; class Node ...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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