Форум программистов, компьютерный форум CyberForum.ru

Шаблон (односвязный список) - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 59, средняя оценка - 4.61
neon-st
2 / 2 / 0
Регистрация: 20.12.2008
Сообщений: 11
21.12.2008, 17:58     Шаблон (односвязный список) #1
Помогите пожалуйста мне в вопросе с односвязным списком.
мне нужно реализовать в виде шаблонного класса вычислительную структуру односвязный список.
Объясните мне,простым языком, суть односвязного списка и как сделать шаблонный класс односвязного списка.
Заранее спасибо.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.12.2008, 17:58     Шаблон (односвязный список)
Посмотрите здесь:

Односвязный список C++
C++ Односвязный список
C++ Односвязный список.
C++ Односвязный список
Односвязный список C++
Односвязный список C++
Односвязный список C++
Односвязный список C++
Cоздать класс-шаблон, реализующий односвязный список C++
Односвязный список C++
Односвязный список C++
C++ Односвязный список

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
CheshireCat
Эксперт С++
2907 / 1235 / 78
Регистрация: 27.05.2008
Сообщений: 3,315
21.12.2008, 21:45     Шаблон (односвязный список) #2
Суть односвязного списка: Каждый элемент такого списка содержит собственно данные и указатель на следующий элемент. Указатель на первый элемент (или специальное значение, обычно - NULL, если элементов нет) хранится в т.н. "голове" списка. Указатель на следующий элемент последнего элемента хранит также специальное значение - обычно NULL, что означает "больше элементов нет".

А шаблон делается для любого типа данных с помощью ключевого слова template.

Примерно где-то так:
Код
template <typename T>
struct ListElem
{
    T            data;    // данные
    ListElem*    next;    // указатель на след. эл-т
};

template <typename T>
class SingleLinkedList
{
    ListElem<T>*     head;
    // тут методы добавления и прочее...
};
Вместо T компилятор сам подставит в нужный момент нужный тип данных.
neon-st
2 / 2 / 0
Регистрация: 20.12.2008
Сообщений: 11
21.12.2008, 21:53  [ТС]     Шаблон (односвязный список) #3
спасибо.а вот можно написать метод добавления и печати списка?
Piksel
0 / 0 / 0
Регистрация: 04.01.2009
Сообщений: 3
06.01.2009, 20:30     Шаблон (односвязный список) #4
Меня интересует один вопрос, связанный с шаблонами в C++. Я написал шаблонный класс и захотел спецеализировать одну из функций. Я могу написать вот так:
C++
1
2
template <>
              имя_класс<int, int>::имя_функции(список_аргументов) {...}
Но если я хочу написать так:
C++
1
2
template <class T>
              имя_класс<int, T>::имя_функции(список_аргументов) {...}
То компилятор выдает ошибку, что нужно создать специализированный класс. Пожалуйста поясните этот мой пробел. Заранее благодарен.
Piksel
0 / 0 / 0
Регистрация: 04.01.2009
Сообщений: 3
08.01.2009, 15:23     Шаблон (односвязный список) #5
Неужели никто не может пояснить мой вопрос?
Yandex
Объявления
08.01.2009, 15:23     Шаблон (односвязный список)
Ответ Создать тему
Опции темы

Текущее время: 23:58. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru