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

Однонаправленный список элементов (удвоить каждый элемент списка) - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Каждое простое число последовательности увеличить в два раза, посчитать количество простых чисел в исходной последовательности http://www.cyberforum.ru/cpp-beginners/thread862926.html
Вводится последовательность из N целых чисел. Каждое простое число последовательности увеличить в два раза, посчитать количество простых чисел в исходной последовательности (функцией оформить...
C++ Как отправить структуру в функцию? Как отправить массив структур в функцию при использовании typedef? Вот на таком примере: #include <stdio.h> #include <conio.h> #include <string.h> #include <stdlib.h> #define MAX 30 int i=1;... http://www.cyberforum.ru/cpp-beginners/thread862920.html
C++ Чтение из файла
Здравствуйте. Хочу, чтобы программа читала значения переменных из файла input.txt: Please choose the crystal lattice. Type 1 for BCC, 2 for FCC, and 3 for HCP: 2 Please enter lattice parameter...
Реферат: программная реализация задач обработки дат C++
"Программная реализация задач обработки дат"!!! замороченная тема , ни как не могу найти, кто поможет найти с меня огромный +!!!
C++ Строка символов. Все вхождения ‘abc’ заменить на ‘def’ http://www.cyberforum.ru/cpp-beginners/thread862900.html
Дана строка символов. Необходимо все вхождения ‘abc’ заменить на ‘def’
C++ деление по модулю 2 Здравствуйте такая задача есть массив g {111101} который заполнен таким образом и есть массив p {1111010000000} который заполнен вот так, нужно массив p поделить на g по модулю 2 и потом то что... подробнее

Показать сообщение отдельно
MrCold
855 / 753 / 71
Регистрация: 11.01.2012
Сообщений: 1,942
12.05.2013, 22:49
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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
#include <iostream>
#include <conio.h>
 
template <class T>
struct Node
{
    Node<T>* Next;
    T Data;
    Node();
explicit Node(T &_Data);
};
template <class T>
Node<T>::Node()
        : Next(NULL)
{   
}
template <class T>
Node<T>::Node(T &_Data)
        :Data(_Data), Next(NULL)
{   
}
 
template <class T>
class LinkedList
{
public:
    LinkedList();
    ~LinkedList();
    void Clear();
    void Doubling();
    void AddFront(T &_Data);
    void AddEnd (T &_Data);
    void PrintList();
 
private:
    Node<T> *Head,  *Curr;
};
 
template <class T>
void LinkedList<T>::Doubling()
{
    if( Head == NULL)
    {
       return;
    }
    Curr = Head;
    while (Curr)
    {
       Node<T> *newNode = new Node<T>(Curr->Data);
       newNode->Next = Curr->Next;
       Curr->Next = newNode;
       Curr = newNode->Next;
    }
}
 
template <class T>
void LinkedList<T>::PrintList()
{
    Curr = Head;
    while (Curr)
    {
        std::cout << Curr->Data << ' ';//<< std::endl;
       Curr = Curr->Next;
    }
}
 
template <class T>
void LinkedList<T>::AddFront(T &_Data)
{
    Node<T> *newNode = new Node<T>(_Data);
    if( Head == NULL)
    {
       Head = newNode;
    }
    else
    {
       newNode->Next = Head;
       Head = newNode;
    }   
}
 
template <class T>
void LinkedList<T>::AddEnd(T &_Data)
{
    Node<T> *newNode = new Node<T>(_Data);
    if( Head == NULL)
    {
       Head = newNode;
    }
    else
    {
        Curr = Head;
        while(Curr )
        {
          Curr = Curr ->Next;
        }
       Curr ->Next = newNode;
    }
}
template <class T>
void LinkedList<T>::Clear()
{
    Node<T> *node = NULL;
    Curr = Head;
    while(Curr)
    {
        node = Curr->Next;
        delete Curr;
        Curr = node;
    }
    Head = NULL;
}
template <class T>
LinkedList<T>::LinkedList()
    :Head(NULL), Curr(NULL)
{
}
template <class T>
LinkedList<T>::~LinkedList()
{
    Clear();
}
 
int main()
{
        LinkedList<char> list;
        for (char i = 'A'; i < 'G'; i++)
        list.AddFront(i);
        std::cout << "\nList :\n";
        list.PrintList();
        list.Doubling();
        std::cout << "\n\nNew list :\n";
        list.PrintList();
        list.Clear();
    getch();
}
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru