Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Списки, Нужна помощь по линейным спискам 
:(
    Опции темы
sigwey
Дата 13.12.2010, 19:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 13.12.2010

Репутация: нет
Всего: нет



Ку. Возникла проблема с написанием программы по линейным спискам. 
Суть в том что лекций как таковых не было, а из скачанной с интернета литературы самому разобрать все очень не просто.
Задача-
Написать программу, которая из последовательности целых чисел формирует односвязный список.
Длина последовательности может быть произвольной. 
Все элементы списка, которые больше своего порядкового номера переписать в новый список. 

Пробовал делать с помощью одномерного  массива, но препод сказал что нужно именно списком.

Полностью прогу не прошу написать, ибо это наглость. Очень был бы рад проге, которая
из последовательности целых чисел формирует односвязный список. То есть самое начало конечной программы...

Заранее спасибо)))
З.Ы. Язык Си
PM MAIL   Вверх
Чoо
Дата 13.12.2010, 20:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 313
Регистрация: 22.9.2009

Репутация: 4
Всего: 4



не вижу проблемы. Тем более числа не надо упорядочивать.
1. Создать структуру элемента списка.
Код

struct el{
  int value;
  el* next;
};

2. объявить указатель на начало списка (можно и в main)
Код

  el* head=0;

3. Создать элемент списка
Код

  el* new_el;
  new_el = new el;
  new_el->value = 100;
  new_el->next = 0;

4. отправить этот элемент в список (грубо говоря, прилепить этот элемент к head)
Код

  if(head)
  {
     new_el->next = head;
     head = new_el;
  }
  else
    head = new_el;

вот и все решение. Да и в этом разделе полно примеров того, как работать с односвязными списками 


--------------------
user posted image

OS: Debian Squeeze (kernel 3.8.2)
IDE: qtCreator 1.3.1; Eclipse SDK 3.5.2
PM MAIL   Вверх
sigwey
Дата 13.12.2010, 20:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 13.12.2010

Репутация: нет
Всего: нет



Цитата(Чoо @ 13.12.2010,  20:42)
не вижу проблемы.
>>>
вот и все решение. Да и в этом разделе полно примеров того, как работать с односвязными списками

Как я понял код для С++, но мне бы лучше на обычном си. 

Да и потом для меня эта тема очень сложна. Я начал её полностью с 0, так что возможно придется азжевывать самые мелочи, вплоть до того какие библиотеки использовать в списках)))
PM MAIL   Вверх
Чoо
Дата 13.12.2010, 20:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 313
Регистрация: 22.9.2009

Репутация: 4
Всего: 4



да из плюсов new упустил. ну вместо new можно использовать malloc,
тогдав выделение памчти будет:
Код

new_el = (el*)malloc(sizeof(el)); //хотя тут и атк понятно, что понадобится выделить 8 байтов памяти под один элемент.

malloc и free (free освобождает память) в stdlib.h
ну в принципе и всё

Добавлено через 4 минуты и 23 секунды
начиная от сюда, я рассказывал как работать со списком. Единственное что, вместо new и delete используйте malloc  и free. Другие темы - сами поищете, если не достаточно этого.


--------------------
user posted image

OS: Debian Squeeze (kernel 3.8.2)
IDE: qtCreator 1.3.1; Eclipse SDK 3.5.2
PM MAIL   Вверх
sigwey
Дата 13.12.2010, 21:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 13.12.2010

Репутация: нет
Всего: нет



спс большое
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0954 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.