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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Fedor N
0 / 0 / 0
Регистрация: 22.06.2012
Сообщений: 17
#1

Шаблон класса Node для узла связного списка - C++

23.06.2012, 11:18. Просмотров 1240. Ответов 3
Метки нет (Все метки)

Здравствуйте, помогите пожалуйста реализовать и протестируйте функцию:
template <class T>
Node<T> *GetNode(const T &item, Node<T> *nextPtr = NULL);
создающую в динамической памяти узел-объект класса Node с данным item и указателем на следующий узел nextPtr.

nodelib.h
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
template <class T>
class Node
{
    private:
        // указатель на адрес следующего узла
        Node<T> *next;
    public:
        T data;
        //конструктор
        Node(const T& item, Node<T> *ptrnext = NULL):
                    data(item), next(ptrnext) {return;}
        // Вставка следующим
        void InsertAfter(Node<T> *p)
        {
            p->next = next;
            next = p;
        }
        // Удаление следующего
        Node<T> *DeleteAfter(void);
        // Получение адреса следующего
        Node<T> *NextNode(void) const {return next;}
};
 
template <class T>
Node<T>* Node<T>::DeleteAfter(void)
{
    // если нет следующего возвратить NULL
    if (next==NULL) return NULL;
    // сохранить адрес удаляемого узла
    Node<T> *tempPtr = next;
    // текущий указывает на узел, следующий за удаляемым
    next = tempPtr->next;
    // возвратить указатель на удаляемый узел
    return tempPtr;
}
 
template <class T>
void PrintNodeList(Node<T> * head)
{
   if (!head) {cout <<"\nList empty"; return;}
   cout << '\n';
   while (head)
   {
    cout << head->data << '\t';
      head = head->NextNode();
   }
}
 
template <class T>
Node<T> *BuildNodeList(T M[], int n)
{
    Node<T> *head=NULL;
   for (int i = n-1; i>=0; i--)
    head= new Node<T>(M[i],head);
   return head;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.06.2012, 11:18
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Шаблон класса Node для узла связного списка (C++):

Разработать шаблон класса для работы со стеком реализованным в виде связного списка - C++
Разработать шаблон класса для работы со стеком реализованным в виде связного списка. Тип эле-ментов задается как параметр шаблона. Написать...

Шаблон для узла односвязного списка - C++
Есть узел typedef struct Var { String varname; int value; struct Var *next; } Var; Нужно сделать так, чтоб...

Реализовать шаблон класса для хранения динамического списка - C++
Нужно реализовать: 1.Операции вставки элемента в начало списка 2.Операцию удаления первого элемента 3.Деструктор высвобождающий всю...

Разработать шаблон класса для реализации односвязного списка - C++
Помогите пожалуйста разработать шаблон класса для реализации односвязного списка.

Спроектировать шаблон класса spisok для реализации односвязного линейного списка. Не работает сортировка - C++
Здравствуйте! Очень нужна помощь в реализации программы. Задание: Спроектировать шаблон класса spisok для реализации односвязного...

функция для нахождения длины связного списка - C++
Помогите написать функцию для нахождения длины связного списка. реализуйте функцию итеративно и рекурсивно. getLength (NULL) должен...

3
neske
1502 / 869 / 84
Регистрация: 26.03.2010
Сообщений: 2,983
23.06.2012, 11:20 #2
del del
0
Invader_Zim
Twilight Parasite
153 / 149 / 2
Регистрация: 21.07.2011
Сообщений: 908
23.06.2012, 12:20 #3
используй list и не парься
0
Fedor N
0 / 0 / 0
Регистрация: 22.06.2012
Сообщений: 17
23.06.2012, 17:36  [ТС] #4
Все сделал. Тема закрыта.
0
23.06.2012, 17:36
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.06.2012, 17:36
Привет! Вот еще темы с ответами:

Шаблоны функций, Ошибка: для использования класса шаблон требуется список аргументов шаблон - C++
Есть у меня 3 структуры Трамвай , Троллейбус , Автобус. Для автобуса определены функции (работают) Троллейбус и Трамвай одинаковые поля...

Шаблон класса двусвязного списка, метод, возвращающий указатель - C++
Пишу шаблон класса двусвязного списка. Всё в хедере. В классе присутствует структура item. Пытаюсь написать метод, возвращающий указатель...

Напишите шаблон класса односвязного списка, который принимает элементы любого типа - C++
Ребята, помогите. Надо решить следующую задачу: Напишите шаблон класса односвязного списка, который принимает элементы любого типа. ...

Реализация связного списка - C++
Помогите решить задачу Нужно написать программу без использования библиотеки list я вот начал, только функция добавления не...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

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