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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 26.07.2012, 22:57   #11
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

Цитата:
Столкнется автор с крупным проектом с межмодульными связями - тогда и придет время группировать данные, а на данном этапе это не обязательно (вернее не так обязательно как об этом говорят)
Вот тут +100500. Глобали опасны, если проект делается коллективом. Если разработка собственная и не претендует на реализацию многими разработчиками. Смело используйте глобальные переменные, массивы, объекты и т.д.
Свя ж..а исходит из того, что, почему-то, если язык позволяет, все хотят зделать свой код "универсальным".
Блажь всё это, поверьте 30-и летьнему опыту.
Я за это время не встретил ни одной универсальной функции.
Или переписывал "под себя", либо использовал "то, что есть", либо писал свою (не взирая на запреты "гуру"), чего и Вам советую.
Всему, своё время. Научитесь сначала ползать, потом ходить, а потом-уж прыгать...
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder

Последний раз редактировалось Smitt&Wesson; 26.07.2012 в 23:02.
Smitt&Wesson вне форума Ответить с цитированием
Старый 27.07.2012, 12:55   #12
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,331
По умолчанию

Всем любителям глобализации один ответ - strtok()... Даже никакой многопоточности не надо...
waleri вне форума Ответить с цитированием
Старый 27.07.2012, 14:50   #13
monster-bonster
Пользователь
 
Аватар для monster-bonster
 
Регистрация: 27.06.2012
Сообщений: 38
По умолчанию

лучше использовать такую структуру
в которой есть указатель на хвост (последний элемент)
списка и на начальный элемент.
Код:
struct node {
   DataType info;
   struct node * next;
};

struct list {
   struct node * head;
   struct node * tail;
};

//тогда добавление нового элемента в список
//будет универсальной процедурой

void node_add(struct list * l1, DataType val)
{
   l1->tail->next = new(struct node);
   l1->tail = l1->tail->next;
   l1->tail->info = val;
   l1->tail->next = NULL;
}
А вот с удалением могут возникнуть проблемы.
Удаление удобно в двусвязных списках.
Если вы изучаете односвязные списки то книга кормена
это как раз то что для вас нужно.
А если используете в программе, то мне кажется
лучше использовать двусвязные списки. Они удобны!
monster-bonster вне форума Ответить с цитированием
Старый 27.07.2012, 22:29   #14
Buserandi
 
Регистрация: 03.11.2010
Сообщений: 4
По умолчанию

monster-bonster, большое спасибо, именно то, что надо!
Просто не мог влиться в l.head = l.head->Next.
Только у вас как-то получается, что сразу перескакивает на 2й строчке функции. Это, наверное, тогда, если l.tail первому уже было передано значение. Но, всё-равно, спасибо.
Buserandi вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создать односвязный список и вывести его на экран. Из этого списка создать новый список по указанному ниже правилу и новый список San111 Паскаль, Turbo Pascal, PascalABC.NET 1 15.05.2012 22:08
Необходимо реализовать классы, односвязный список для хранения целых чисел, односвязный список для хранен lineico Помощь студентам 2 09.05.2011 17:45
Добавление элемента в кольцевой список ForzaJuve Общие вопросы C/C++ 1 09.11.2010 19:39
Двухсвязный список, добавление элемента в указанную позицию redmonkey Помощь студентам 3 19.10.2010 12:29
C++. Односвязный список. Уничтожить список Olya90 Помощь студентам 2 10.06.2009 18:52