Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.06.2009, 16:30   #1
Olya90
Форумчанин
 
Аватар для Olya90
 
Регистрация: 16.03.2009
Сообщений: 125
Вопрос C++. Односвязный список. Уничтожить список

Посмотрите че не так??:
Код:
#include <iostream>
using namespace std;

struct list{
    int key;
    list *next;
};

void createList(list* &desc)
{
    list* x;
    int n;

    cout << "Enter list size >0" << endl;
    cin >> n;
    x = new list;
    desc = x;
    x -> key = rand() % 50;
    for( int i = 1; i <= n; i++)
    {
        if ( i != n )
        {
        //cout<<x ->key<< "  ";
        x -> next = new list;
        x -> next = x;
        x = x -> next;
        x -> key = rand() % 50;
        
        } else
            x -> next = NULL;
    }


}

void showList(list* d)
{
    list* x;
    x = d;
    while ( x != NULL )
    {
        cout << x -> key << "   ";
        x = x -> next;
    }
    
    cout << endl;
}



void delList(list* &d)
{
    list *x, *t;
    x = d;
    t = d; 
    while ( x ->next != NULL )
    {
        t = x -> next;
        delete x;
        x = t;
    }
}


int main()
{
    list *desc;
    createList( desc );
    showList( desc );
    delList( desc );
    showList( desc );

    system("pause");
    return 0;
}
Если помогла нажмите на весы
Olya90 вне форума Ответить с цитированием
Старый 10.06.2009, 17:50   #2
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Тут:
Код:
        if ( i != n )
        {
        //cout<<x ->key<< "  ";
        x -> next = new list;
        x -> next = x;  // <-- что это?
        x = x -> next;
        x -> key = rand() % 50;
        
        } else
и в dellist:
Код:
 while ( x ->next != NULL )
Почему x->next? Нужно просто x.

Код:
#include <iostream>
#include <conio.h>
using namespace std;

struct list{
    int key;
    list *next;
};

void createList(list* &desc)
{
    list* x;
    int n;

    cout << "Enter list size >0" << endl;
    cin >> n;
    x = new list;
    desc = x;
    x -> key = rand() % 50;
    for( int i = 1; i <= n; i++)
    {
        if ( i != n )
        {
        //cout<<x ->key<< "  ";
        x -> next = new list;
        x = x -> next;
        x -> key = rand() % 50;

        } else
            x -> next = NULL;
    }


}

void showList(list* d)
{
    list* x;
    x = d;
    while ( x != NULL )
    {
        cout << x -> key << "   ";
        x = x -> next;
    }

    cout << endl;
}



void delList(list* &d)
{
    list *x, *t;
    x = d;
    t = d;
    while ( x != NULL )
    {
        t = x -> next;
        delete x;
        x = t;
    }
d = NULL;
}


int main()
{
    list *desc;
    createList( desc );
    showList( desc );
    delList( desc );
    showList( desc );

    system("pause");
    return 0;
}
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 10.06.2009, 18:52   #3
Olya90
Форумчанин
 
Аватар для Olya90
 
Регистрация: 16.03.2009
Сообщений: 125
По умолчанию

спасибо!!!!!
Если помогла нажмите на весы
Olya90 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Односвязный список. С++ Ozza Помощь студентам 1 06.02.2009 02:09
Шаблонный односвязный список _ares_ Общие вопросы C/C++ 4 06.12.2008 21:35
Линейный односвязный список Absinth Помощь студентам 4 11.11.2008 20:29
КОЛЬЦЕВОЙ ОДНОСВЯЗНЫЙ СПИСОК __FIRST__ Помощь студентам 0 01.11.2008 17:16
C: односвязный список в файле getfear Помощь студентам 7 04.01.2008 19:26