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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 26.10.2011, 23:32   #1
Caged
Пользователь
 
Регистрация: 10.10.2011
Сообщений: 33
Стрелка Динамические списки в Си. Нужна консультация

Доброго времени суток, форумчане..

я работаю над программой "Сортировка списка" и у меня возникла куча глупых вопросов... Надеюсь на помощь)

Вопрос 1й: как следует создавать список?
в смысле я понимаю, что нужно создать структуру с полями данных и полем-ссылкой. а как их связывать?
Caged вне форума Ответить с цитированием
Старый 26.10.2011, 23:39   #2
_Ч_
Форумчанин
 
Регистрация: 07.01.2010
Сообщений: 141
По умолчанию

std::list<int> lst;
lst.push_back(3);
lst.push_back(2);
lst.push_back(1);
lst.sort();

ну а если вам нужен именно самодельный список, то лучше поискать инфу на тему связных списков в сети.
_Ч_ вне форума Ответить с цитированием
Старый 26.10.2011, 23:43   #3
Caged
Пользователь
 
Регистрация: 10.10.2011
Сообщений: 33
По умолчанию

Цитата:
Сообщение от _Ч_ Посмотреть сообщение
std::list<int> lst;
lst.push_back(3);
lst.push_back(2);
lst.push_back(1);
lst.sort();
что-то я не понял..(
Caged вне форума Ответить с цитированием
Старый 26.10.2011, 23:43   #4
SteAlzzer
Пользователь
 
Аватар для SteAlzzer
 
Регистрация: 11.10.2011
Сообщений: 60
По умолчанию

Есть связанные списки. Суть их в том, что один знает своего соседа или двух по указателю. Тоесть, выглядит примерно так:
struct myStruct
{
int number1,number2
myStruct* next; // указатель на следующий элемент списка
myStruct* prev; // указатель на предидущий элемент списка
};
Реализуются функции для добавления, редактирования и т.п., что вам нужно для этой структуры.
В мейне работает это так: вы создаете указатель на тип данной структуры, который указывает на самую первую структуру, нулевую. Далее вы можете передвигаться по ним с помощью next и prev.

Есть еще вариант испоьзовать динамические массивы:
myStruct* newStruct = new myStruct [100500];
SteAlzzer вне форума Ответить с цитированием
Старый 26.10.2011, 23:46   #5
Caged
Пользователь
 
Регистрация: 10.10.2011
Сообщений: 33
По умолчанию

Код:
void addlist (Ch_l *p, Ch_l *newel) {
while (p->link != NULL) p=p->link;
p=newel;     
}
я тут в тетрадке покопался и нашёл это, но компилялка пишет, что я ошибся.. не пойму где
Caged вне форума Ответить с цитированием
Старый 26.10.2011, 23:49   #6
Caged
Пользователь
 
Регистрация: 10.10.2011
Сообщений: 33
По умолчанию

SteAlzzer, идея хорошая... но вот расти руки из правильного я бы её реализовал)
Caged вне форума Ответить с цитированием
Старый 27.10.2011, 00:01   #7
_Ч_
Форумчанин
 
Регистрация: 07.01.2010
Сообщений: 141
По умолчанию

это я привел код, который можно было бы использовать в случае, если ваша задача - не реализовать список, а использовать его для чего-то другого. если же нужен именно самодельный динамический список, то идею со структуркой для двусвязного списка вам почти правильно подсказали. number2 там не нужен.
_Ч_ вне форума Ответить с цитированием
Старый 27.10.2011, 00:15   #8
Caged
Пользователь
 
Регистрация: 10.10.2011
Сообщений: 33
По умолчанию

мне бы хоть понять как это в коде выглядит(
т.е. само создание списка в целом (самый примитив), чтоб я мог ориентироваться
Caged вне форума Ответить с цитированием
Старый 27.10.2011, 00:22   #9
_Ч_
Форумчанин
 
Регистрация: 07.01.2010
Сообщений: 141
По умолчанию

сперва скажите что вам нужно:
1 какой язык? с или с++?
2 если с++, то: вам нужен самодельный список или вам пойдет то, что уже можно использовать в с++?
_Ч_ вне форума Ответить с цитированием
Старый 27.10.2011, 00:25   #10
Caged
Пользователь
 
Регистрация: 10.10.2011
Сообщений: 33
По умолчанию

Цитата:
Сообщение от _Ч_ Посмотреть сообщение
сперва скажите что вам нужно:
1 какой язык? с или с++?
2 если с++, то: вам нужен самодельный список или вам пойдет то, что уже можно использовать в с++?
самодельный в С++
Caged вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Динамические списки Ольчик Паскаль, Turbo Pascal, PascalABC.NET 4 15.01.2012 14:33
Динамические списки. Светусик Паскаль, Turbo Pascal, PascalABC.NET 0 22.12.2010 17:50
динамические списки tricksler Помощь студентам 0 10.12.2010 21:15
Динамические списки Saawa Помощь студентам 4 02.12.2009 18:35
Динамические списки lubafffka Паскаль, Turbo Pascal, PascalABC.NET 6 17.12.2008 21:59