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

Удаление единственного элемента односвязного списка - C++

Восстановить пароль Регистрация
 
IgnisDeus
Сообщений: n/a
25.11.2014, 17:55     Удаление единственного элемента односвязного списка #1
Функция удаляет с конца элементы односвязного списка. Вместо удаления последнего элемента, она должна присвоить элементу значение NULL. В теле main код работает корректно, но в виде функции последнему элементу не присваивается NULL. Как сделать так, чтобы код работал правильно в функции?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
int del(struct list *first){
    if (first==NULL) {printf("Список пуст. Удалять нечего\n"); return 0;}
    struct list *x, *last;
    int i=1;
    last=first;
    x=last->lnk;
    if (x==NULL) {
        first = NULL;
        printf("Удалён последний элемент\n"); return 0;}
    else {
        while (x->lnk!=NULL) {x=x->lnk; last=last->lnk; i++;}
        delete x;
        last->lnk=NULL;
        printf("Удалёно...\n"); return i;}
     
    
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.11.2014, 17:55     Удаление единственного элемента односвязного списка
Посмотрите здесь:

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

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

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

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