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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 23.01.2013, 10:33   #1
leonid_v
Пользователь
 
Регистрация: 23.01.2013
Сообщений: 10
По умолчанию связанный список

есть связанный список
подсчитать количество элементов массива за один проход не используя дополнительной структуры?
даже мысли нет как начать
Вложения
Тип файла: rar Microsoft Office Word Document חדש.rar (14.2 Кб, 19 просмотров)
leonid_v вне форума Ответить с цитированием
Старый 23.01.2013, 10:47   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Легко:
Код:
кол-во=0
Пока голова<>пусто 
 делать Голова=голова->следующий
 кол-во увеличить на 1
конец цикла

Вывести колв-о
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 23.01.2013, 10:55   #3
leonid_v
Пользователь
 
Регистрация: 23.01.2013
Сообщений: 10
По умолчанию

список кольцевой как определить где заканчивается цикл?
leonid_v вне форума Ответить с цитированием
Старый 23.01.2013, 10:58   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Для этого в списке можно держать особое поле - флаг. При таком проходе флаг устанавливается, тогда при достижении петли, следующий элемент, на который указывает последний будет содержать флаг в установленном состоянии.
После прохода флаги можно сбрасывать.

А вообще-то для списков стараются держать две координативные переменные - голову и хвост, даже для кольцевого.
Более того список сам по себе не создают. Его создают в паре с менеджером списка, который в себе содержит характеристики списка, в том числе и количество элементов.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 23.01.2013, 11:02   #5
leonid_v
Пользователь
 
Регистрация: 23.01.2013
Сообщений: 10
По умолчанию

задача с экзамена. список менять нельзя
leonid_v вне форума Ответить с цитированием
Старый 23.01.2013, 12:04   #6
rrrFer
Санитар
Старожил
 
Аватар для rrrFer
 
Регистрация: 04.10.2008
Сообщений: 2,577
По умолчанию

Код:
кол-во = 0
t=голова
если голова <> 0
      делать
            Голова=голова->следующий
             кол-во увеличить на 1
      пока t<>голова

Вывести колв-о
чуть изменил код стилета

Последний раз редактировалось rrrFer; 23.01.2013 в 12:07.
rrrFer вне форума Ответить с цитированием
Старый 23.01.2013, 12:09   #7
leonid_v
Пользователь
 
Регистрация: 23.01.2013
Сообщений: 10
По умолчанию

посмотри рисунок. на голову не попадаешь. список частично колцевой
leonid_v вне форума Ответить с цитированием
Старый 23.01.2013, 12:52   #8
rrrFer
Санитар
Старожил
 
Аватар для rrrFer
 
Регистрация: 04.10.2008
Сообщений: 2,577
По умолчанию

вместо головы выбирай любой узел списка.

И научись уже нормально вопросы задавать. И картинки нормально прикреплять.
--------
кстати, в файле ничего нет.

Последний раз редактировалось rrrFer; 23.01.2013 в 12:54.
rrrFer вне форума Ответить с цитированием
Старый 23.01.2013, 13:00   #9
leonid_v
Пользователь
 
Регистрация: 23.01.2013
Сообщений: 10
По умолчанию

любой это какой? список частично колцевой
leonid_v вне форума Ответить с цитированием
Старый 23.01.2013, 14:15   #10
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
список менять нельзя
Может и нельзя, но хранить переменные головы и хвоста ведь можно?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Связанный список Лжец Общие вопросы C/C++ 2 12.12.2011 23:42
Связанный список на СИ maryan.vetrov Общие вопросы C/C++ 6 18.10.2010 08:49
Связанный список (Linked list). lnter Помощь студентам 0 12.04.2010 17:58
База данных. Связанный список. 4uJIaBekTonop C/C++ Базы данных 3 29.12.2009 10:42