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

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

Восстановить пароль Регистрация
 
quazarija
0 / 0 / 0
Регистрация: 21.02.2016
Сообщений: 36
22.03.2016, 09:14     Операции над двусвязным списком #1
Здравствуйте, друзья! Есть такая структура данных :
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++ Реализовать простейшие операции над списком: вставка, удаление, вывод на экран
Операции над однонаправленным списком C++
C++ Элементарные операции с динамических двусвязным списком
C++ Работа с двусвязным нециклическим списком: инверсия списка
Программа с двусвязным списком крашится C++
Программа на операции со списком C++
Операции со списком C++
Работа с двусвязным списком. Проблема с функцией удаления с конца C++
C++ Работа с двусвязным списком, поиск и перемена местами двух элементов в списке
C++ Разработать программу для создания и работы с двусвязным списком
C++ Нужны задачки для упражнения в работе со списком, стеком, очередью и двусвязным списком

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

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

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