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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Задача по одномерным массивам http://www.cyberforum.ru/cpp-beginners/thread612135.html
Помогите плиз решить задачу по одномерным массивам в C++ "Дан массив целых чисел из n элементов. Найти удвоенную сумму положительных элементов. Подсчитать количество элементов массива, не превосходящих по модулю заданного числа В. Заменить нулевые элементы массива единицами." заданий очень много, не успеваю всё решить...
C++ алгоритмом Определить номера строк, в которых первый элемент равен последнему Помогите с алгоритмом Вот сама задача: Дана матрица размером МxN. Определить номера строк, в которых первый элемент равен последнему. Тут все понятно, кроме одного где строка у матрицы МxN(M- столбец или N- Строка или наоборот). и последний элемент это будет j-n ? так что ли ? http://www.cyberforum.ru/cpp-beginners/thread612124.html
C++ Наследование шаблонов
Не вижу, в чём ошибка. В дочернем классе ругается, что переменная val не определена... Я неправильно делаю наследование? template <class elementType> class Base { protected: elementType val; }; template <class elementType>
Найти сумму элементов вектора C++
Найти сумму элементов вектора (массивы не использовать, значения складывать по мере ввода). ребята очень нужна помощь, сижу на экзамене щас
C++ Используя стек, напечатать содержимое текстового файла http://www.cyberforum.ru/cpp-beginners/thread612104.html
Используя стек, напечатать содержимое текстового файла, выписывая символы каждой его строки в обратном порядке. Ребята, прошу помочь с заданием как можно скорее, заранее огромное спасибо.
C++ Как открыть программку Здравствуйте господа! Я в программировании не разбираюсь, а поэтому нужна ваша помощь. Мой друг сделал маленькую программку для прослеживания чтения десятичных систем и перевода их в графику. Он объяснил мне как пользоваться, и исчез. Я оставил программку на время и она почему то перестала работать. Я начал искать моего друга, но он куда то делся. Я думал что программка сдохла. Но... подробнее

Показать сообщение отдельно
Fedor N
0 / 0 / 0
Регистрация: 22.06.2012
Сообщений: 17

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

23.06.2012, 11:18. Просмотров 1105. Ответов 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;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru