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

Метод списка swap, который меняет информацию двух узлов местами - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Поиск одинаковых слов в текстовых файлах http://www.cyberforum.ru/cpp-beginners/thread419554.html
помогите пожалуйста...C++ написать прогу которая 2 txt файла сравнивает на одинаковые слова и выводит их в qlistwidget или хотябы в 3 файл...
C++ Переписать из одного массива в другой всем привет помогите пожалуйста с задачей условие таково: вводятся данные о студентах (оценки) и нужно узнать сколько двоек у каждого студента потом всех у кого есть двойки переписать в другой массив что есть у меня #include <iostream> #include <cstring> #include <conio.h> using namespace std; const int kc=2; http://www.cyberforum.ru/cpp-beginners/thread419545.html
C++ Найти количество общих точек окружности и прямой
Решить задачу в С++ Помогите пожалуйста =) Дана окружность и прямая. Окружность задается уранвением r²=x²+y². Уравнение прямой y=ax+b. Необходимо найти количество общих точек. Тем, что вы назвали тему "СРОЧНО!!!", вы только оттолкнули большую часть желающих помочь. А тем, что после этого ещё и смайл поставили, оттолкнули оставшихся.
C++ Добавление сетевого принтера
Добрый день встала задача , написать программу для добаления сетевого принтера. Поюзал Гугель , ничего не нашел. Буду рад любому совету . Заранее спасибо
C++ Анаглифическая визуализация http://www.cyberforum.ru/cpp-beginners/thread419533.html
Как её написать для воксельной сцены? А для полигональной?
C++ Создать двусвязный список. Написать функцию, удаляющую элементы с чётными номерами. Ребят, помогите написать в C++, очень надо, а то отчислят с универа)) Создать двусвязный список. Написать функцию, удаляющую элементы с чётными номерами. Добавлено через 10 часов 43 минуты Ребят, помогите пожалуйста, надо завтра сдавать подробнее

Показать сообщение отдельно
besbyblik
1 / 1 / 0
Регистрация: 25.12.2010
Сообщений: 77
28.12.2011, 10:38  [ТС]     Метод списка swap, который меняет информацию двух узлов местами
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
Листинг 1.3. Класс списков List
// Продолжение файла List.h
class List{ // Класс списков
   Node *first; // Указатель на первое звено
   Node *last; // Указатель на последнее звено
public:
List( ) // Конструктор по умолчанию 
{ first = 0; last = 0; } // создает пустой список 
~List( ); // Деструктор
bool Empty( ) const // Проверка, не пуст ли список
{ return (first = = 0); }
T& Front( ){ return first->d; } // Ссылка на первый элемент
void Push_Front(T Val); // Вставить новое звено в начало списка
void Push_Back(T Val); // Вставить новое звено в конец списка 
T Pop_Front( ); // Удаление первого звена
size_t Size( ); // Количество звеньев списка
class Iterator{ // Класс итераторов списка
Node* curr; // Указатель на текущее звено списка
public:
Iterator(Node *pn = 0) // Конструктор создает итератор
{ curr = pn; } // по указателю pn на звено списка
Iterator(Iterator& p) // Конструктор копирования
{ curr = p.curr; }
Node& operator*( ) // Доступ к текущему звену
{ return *curr; }
Node* operator->( ) // Указатель на текущее звено списка
{ return curr;  }
Iterator& operator++( ) // Префиксный инкремент
{ // Используется в виде  ++p
curr = curr->next; // Возвращает итератор на 
return *this; // следующее звено списка
}
Iterator operator++(int) // Постфиксный инкремент
{  // Используется в виде  p++
Iterator tmp = *this; // tmp – копия текущего итератора
curr = curr->next; // Изменение текущего итератора
return tmp; // Возвращение предыдущего значения итератора
}
bool operator= =(Iterator p) // Сравнение итераторов на равенство
{ return curr = = p.curr; }
bool operator!=(Iterator p) // Сравнение итераторов на неравенство
{ return curr != p.curr; }
}; // Конец объявления класса Iterator
Iterator Begin( ) // Получение итератора 
{ return Iterator(first); } // на первое звено списка
Iterator End( ) // Получение итератора на звено списка, 
{ return Iterator(0); } // следующее за последним звеном
Iterator InsertAfter(Iterator p, T val); // Вставка звена после итератора
void EraseAfter(Iterator p); // Удаление звена после итератора p
};
void PrintList(List& L, char delimiter = ' '); // Вывод списка
#endif
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru