Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » C/C++ связные списки, наверно

Ответить
Настройки темы
C/C++ связные списки, наверно

Новый участник


Сообщения: 6
Благодарности: 0

Профиль | Отправить PM | Цитировать


Скажу сразу, до этого времени на си никогда не писал. Был опыт в Pascal, Delphi, JavaScript, php.

Мне нужно написать программку именно на си (не на С++), которая будет позволять добавлять записи, типа
Код: Выделить весь код
char name[15];
int size;
их сортировку по size;вывод; сохранения в файл; чтение из файла.
т.е. принцип такой, запускается программа ==> запрос ввода команды ==> в зависимости от команды выполняются требуемые действия (добавление, сортировка, сохранение, вывод).

У меня вся сложность с неизвестным количеством вводимых данных, для чего я так полагаю, используются связанные списки в си. Если бы я писал на паскале, я бы использовал динамические массивы или после каждого добавления сохранял в файл.

Как на си работать со связанными списками: объявлять, добавлять записи, перемещаться по списку и т.д? Нужен пример с коментами.
К книгам просьба не отправлять.

Спасибо.

Отправлено: 11:36, 21-12-2006

 

Аватара для A_Vodka

Новый участник


Сообщения: 11
Благодарности: 0

Профиль | Отправить PM | Цитировать


Все тоже, только вместо new -- malloc

Отправлено: 00:41, 16-01-2007 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

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


Пользователь


Сообщения: 95
Благодарности: 0

Профиль | Сайт | Отправить PM | Цитировать


может быть так?
Код: Выделить весь код
class CLink
{
public:
char szName[15];
int nSize
CLink* pNext;
}; //связанный список собсна

CLink* pHead;// указатель на головной элемент списка

void addElem(CLink* pLC) //добавить элемент 
{
CLink* pCur = pHead; //присваиваем значение головного списка к текущему (по хорошему нужно было бы сделать проверку, а не является ли головной элемент нулевым, тогда туда и записывали б
while(pCur->pNext != (CLink*)0) //тут понятно. пока не наткнулись на пустой элемент
 {
    pCur = pCur->pNext;
   pCur->pNext = pLC;
   pLC->pNext = (CLink*)0;//ясно, добавили элемент и обнулили последний
 }
}
сортировку, удаление по аналогии можно самому написать
может где то ошибся - писал на скоруу руку, но принцип понятен.

-------
Вся наша жизнь - игра.... вот только б не повисла...


Отправлено: 14:30, 24-01-2007 | #3



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » C/C++ связные списки, наверно

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Наверно вирус или троян на сайте AACC Лечение систем от вредоносных программ 6 23-09-2009 13:45
HDD - [решено] винт наверно умирает bruder Накопители (SSD, HDD, USB Flash) 6 11-08-2009 20:36
C/C++ - [С++ Builder 2009] Проблемы с созданием пользователей (наверно все дело в строках) crashtuak Программирование и базы данных 1 05-07-2009 22:58
списки slaine Вебмастеру 5 19-01-2006 19:08




 
Переход