Автор Renzo задал вопрос в разделе Другие языки и технологии
Списки в Си. Подскажите, пожалуйста, сайт, где доступно и понятно изложена тема линейных списков на Си (не ++) и получил лучший ответ
Ответ от CODEMASTER[гуру]
односвязный циклический список это как бы рукурсивное объявление струкутыр, точнее указателя на нее в самой структуре. типа:
struct s{
int data;//поледанных
s *next;//следующий элемент
} *first,*curr;//первый и текущий элемент
инициализируешь так:
first=new s;
curr=new s;
first->next=curr;
чтобы получить первый элемент используй first->data
чтобы добавить новый элемент:
curr->next=new s;
curr=curr->next;//переходишь к последнему
и чтобы получить например 50 элемент через цикл перебирай список:
curr=first;//переход к первому
for(int i=0;i<50;i++)
{
if(curr->next!=NULL)
{
curr=curr->next;
}
}
и используй curr->data.
т. е. структура содержит указатель на следующий элемент
Источник: опыт
Книжка "Pointers on C", PDF, 61 метр --
А нафига сайт?
Просто делаешь структуру в которой один из элементов является указателем на следующую в списке или NULL в концевом
и по ходу дела наращиваешь выделяя место в памяти командой malloc и присваивая указатели. и держать отдельно указатеь на первую
(линейные не советую. Жрут много ресурсов проца на пробегание от начала до нужного. Лучше двусвязные - держать в структуре указатели и на следующий и на предидущий. Чуть больше затрат памяти, но в десятки раз меньше затрат проца)
-------------
Для кодемастера
не путай С и С++
в С нет new
Как увеличить скорость инета в компе, не делая высокоскоростной?
Зависит от провайдера. Программы-ускорители - это все полное фуфло. Хочешь убедиться - проделай
подробнее...
Как по правилам русского языка пишутся названия книг? Всегда в кавычках и с большой буквы?
Если по правилам, то вот так.
§129. Названия литературных, музыкальных произведений,
подробнее...
Каким образом можно заполнить односвязный список на си? Желательно с примером кода
Держите:
$ cat linkedlist.c
#include <stdio.h>
#include
подробнее...
Когда появился первый велосипед?
История
До 1817 года
Средневековое изображение херувима по «Видению пророка Иезекииля» .
подробнее...
что такое "прелестные грамоты"
С началом нового похода Степана Разина на Волгу в мае 1670 г. движение приняло антикрепостнический
подробнее...
Что такое "прелестные грамоты"(при Петре I)? Нужно раскрыть значение понятия - "прелестные грамоты"
С началом нового похода Степана Разина на Волгу в мае 1670 г. движение приняло антикрепостнический
подробнее...
Как максимально увеличить скорость интернета?
Как увеличить скорость интернета на 20%?
Сия хитрость справедлива только для Windows XP. В
подробнее...
Как повысить скорость скачивания файла? И можно ли ее повысить?
можно повысить скорость всего инета от 20 до 35% поделюсь как:
Сия хитрость справедлива только
подробнее...
Как можно уменьшить вес JPEG картинки?
можно использовать программу по сжатию или просто открыть в пайнте и сохранить.... весить будет
подробнее...
Существует ли золото Колчака? Где оно спрятано?
Колчак, Александр Васильевич! #yaimg20260#[ссылка появится после проверки модератором] В России до
подробнее...
на AliExpress надо вводить почтовый индекс города или почтового отделения?
Внимательно отнеситесь к заполнению адреса. Индекс -это основная точка т. е в это почтовое
подробнее...
Когда и почему на Руси появилась первая летопись?
Принятие христианства (988 год) способствовалораспространению письменности и письменной культуры.
подробнее...
как ускорить работу модема?
заплатив денежку провайдеру за расширение канала, больше НИКАК, у провайдера сидят НЕ ИДИОТЫ, чтобы
подробнее...