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

Не могу понять в чем ошибка: реализация односвязного списка - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Функция, определяющая достижение начала файла: есть ли такая? http://www.cyberforum.ru/cpp-beginners/thread160173.html
Собственно мне нужна функция, проверяющая достижение начала файла, типа feof только наоборот. Гуглил, ничего не нашел =(
C++ Есть исходники браузера? Есть у кого-нибудь исходники браузера? П.С.Администрации сделайте в каждом разделе форума чат, примерно для таких вопросов. Добавлено через 6 минут П.С. Исходники нужны на чистом Си http://www.cyberforum.ru/cpp-beginners/thread160161.html
Вычислить произведение ряда C++
Господа,нужна помощь. Кому не лень,не трудно,помогите чем могите. Собственно вот: Блок А 1. В области 12 районов. Известны количество жителей каждого района ( в тысячах человек) и плотность населения в нем ( тыс. чел./ км2). Определить общую площадь территории области. (задачи без использования массивов). 2. Дан массив целых чисел (n=12), заполненный случайным образом числами из...
C++ Непонятная операция
Всем доброго времени суток! Помогите разобраться, ранее не встречал: Есть enum Sute {clubs,diamonds,hearts,spades} в main() мы создаем колоду карт и заполняем. Так вот при заполнении в цикле есть такая операция: Suit su = Suit(j/13); С левой частью все ясно, а вот с правой не очень. Почему мы не работаем с объектом Suit, а как-то напрямую это делаем...вообще не ясно.
C++ Закрывается программа http://www.cyberforum.ru/cpp-beginners/thread160092.html
После запуска откомпилированной программы я её запускаю и окно программы сразу закрывается (пользуюсь компилятором Code::Blocks) как можно это исправить
C++ Вопрос насчёт рекурсии в цикле Здравствуйте. У меня вопрос насчёт рекурсии в цикле. Вот пример: int massiv={1,2,3}; int heapPermute(int n){ cout <<"В начале n=" <<n <<' '; int temp=0; int razmer = sizeof(massiv)/sizeof(int); if(n==0) { for(int i=0; i<razmer; i++) { if(i==0) {cout <<endl; } cout <<massiv <<' '; } } else { подробнее

Показать сообщение отдельно
lala_777
0 / 0 / 0
Регистрация: 22.11.2009
Сообщений: 9
19.08.2010, 14:07  [ТС]     Не могу понять в чем ошибка: реализация односвязного списка
Здравствуйте еще раз!
По мере освоения материала, возник еще один вопрос. Кто-то выше упоминал о том, что хорошо было бы реализовать функцию удаления списка из памяти.
Немного подумав, я написал следующий кусок кода:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
void deleteAll(list *head)
{
    list *now, nowNext;
    now=head;
    nowNext=now->next;
 
    while(nowNext!=NULL)
    {
        delete now;
        now=nowNext;
        nowNext=now->next;
    }
}
Но потом нашел в интернете вот такую функцию
C++
1
2
3
4
5
6
7
8
9
10
11
void Spisok::OCHISTKA ()
//Удаление однонаправленного списка из памяти.
// phead - указатель на заглавное звено списка.
{
  node *q,*q1;// Рабочие указатели.
 
  q = phead;
  q1 = (*q).sled; // Указатель q1 "опережает" указатель q.
  while (q1!=NULL)
    { q = q1; q1 = (*q1).sled; delete q;}
}
Может я ошибаюсь (это и пытаюсь выяснить) но эта, вторая, функция, не удаляет первый элемент списка (голову). Правильно ли работает моя функция? Или я что-то не так понял? Спасибо.
 
Текущее время: 00:30. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru