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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Приложение для работы с графами http://www.cyberforum.ru/cpp-beginners/thread1691390.html
Всем привет :-) помогите пожалуйста написать 9 отдельных программ для работы с графами (дискретная математика). Что бы считывала: связные графы, маршруты и цепи, изоморфизм, подграфы, орграфы,...
C++ Определить количество четных чисел последовательности Дана числовая последовательность целых чисел, содержащая N элементов. Определить: количество четных чисел; http://www.cyberforum.ru/cpp-beginners/thread1691380.html
Перегрузка оператор ввода C++
Перегрузите оператор ввода >> вводящий дробь. Вводится числитель, после чего проверяется, если следующий символ - /, то читается также знаменатель. Если нет то прочитанный символ вставляется обратно...
C++ Сравнение хеша md5 с строкой
Здраствуйте. Получен MD5 код некого файла - 8F5B9B73D33E8C99202B5058CB6DCE51 в typedef TMD5. Что нужно сделать, чтобы это можно было сравнить с строкой, в которой записан сам md5 строчного типа?...
C++ Создание экземпляра шаблона класса http://www.cyberforum.ru/cpp-beginners/thread1691333.html
Есть код: #include <iostream> #include <string> #include <vector> //======================================== template <typename T> class SomeClass {};
C++ Вывести на экран только предложения, содержащие двузначные числа (строки: string) Помогите разобраться со строками, второй вечер не могу найти ошибку. Задание такое: Вывести на экран только предложения, содержащие двузначные числа. У меня студия жалуется на функцию erase void... подробнее

Показать сообщение отдельно
quazarija
0 / 0 / 0
Регистрация: 21.02.2016
Сообщений: 48

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

22.03.2016, 09:14. Просмотров 169. Ответов 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-тый элемент списка, а так же получить номер элемента имея только указатель на него.
Еще нужна функция для удаления не всего списка, а части начиная из А до Б.
Прошу строго не судить за мои делетантские знания С++, проштудировал интернет и книги... безрезультатно
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru