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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Как переписать программу с шаблонами классов (имеется просто с классами) http://www.cyberforum.ru/cpp-beginners/thread1310671.html
Есть перераспределение операторов, но не получается полностью переделать, постоянные ошибки. Вот исходный код программы #include "stdafx.h" #include "math.h" #include "stdio.h" #include "iostream" using namespace std;
C++ Массивы, магия Есть код: #include <iostream> #include <cstdlib> int main(void) { int yams; yams = 7; yams = 8; http://www.cyberforum.ru/cpp-beginners/thread1310664.html
Не понимаю как работает функция malloc C++
Можете объяснить, что здесь значит каждый символ и элемент в этой строчке? mas=(int*)malloc(n*sizeof(int));и почему они находятся именно в таком порядке, если не тяжело
C++ Сформировать массив по определенному правилу
Сформировать массив по правилу 1 0 0 ... 0 2 1 0 ... 0 3 2 1 ... 0 ... ...
C++ Переписать файл в массив,определить запись,по значению,добавить два элемента http://www.cyberforum.ru/cpp-beginners/thread1310645.html
Условие задания: В файле хранятся данные в виде записей формата R. R---------------- СТРАНА Название Материк Столица Кол-во жителей Площадь - М
C++ Не удается открыть файл include: regex: No such file or directory При попытке подключить #include <regex>, выдает такую ошибку - fatal error C1083: Не удается открыть файл include: regex: No such file or directory Использую студию 2008, знаю,что старая, просто некогда скачать новую, тем более эта лицензионная. Подскажите, пожалуйста, где можно скачать regex и как установить. подробнее

Показать сообщение отдельно
IgnisDeus
Сообщений: n/a

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

25.11.2014, 17:55. Просмотров 218. Ответов 0
Метки (Все метки)

Функция удаляет с конца элементы односвязного списка. Вместо удаления последнего элемента, она должна присвоить элементу значение 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;}
     
    
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru