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

Построить класс для работы с односвязным списком - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Клиент-серверное приложение - передача потокового видео на сервер http://www.cyberforum.ru/cpp-beginners/thread1011205.html
Прошу помощи. Суть такова нужно написать приложение клиент(с++)(win/linux) сервер(php) которое будет захватывать и передавать видео на сервер(потоковая передача). Сервер в свою очередь будет отображать всех подключенных к нему клиентов с возможностью отдельного просмотра каждого клиента. вот пример интерфейса на сервере: скрин Посоветуйте с чего начать.
C++ Тип данных стринг Подскажите пожалуйста сколько сколько символов влезает в string? 256 или нет? А если нет то сколько? http://www.cyberforum.ru/cpp-beginners/thread1011201.html
Hex-dump C++
Имеется программа для получения HEX-дампа входной строки. Нужно расшифровать ее обратно в текст. Есть ли готовые реализации этого на С/С++ ? Или инструкция по созданию. Искал - не нашел... #include <windows.h> #include <stdio.h>
C++ Чтение информации из файла
Как сделать, чтобы после вот такого прочтения указатель позиционирования не перемещался на следующую строку? Дело в том, что мне нужно считать информацию, которая находится после пробела в этой же строке . file.getline(gr,' ');
C++ Удаление второй цифры с конца http://www.cyberforum.ru/cpp-beginners/thread1011187.html
Необходимо удалить вторую цифру с конца в целом числе. Например число 123456 после это операции должно выглядеть так: 12346. Подскажите пожалуйста решение или алгоритм.
C++ С++ и VB. Напишите определение функции, возвращающей количество цифр заданного числа 1. Напишите определение функции, возвращающей количество цифр заданного числа (Реализовать на С++ и VB) подробнее

Показать сообщение отдельно
MarVaL
С++ Beginner
 Аватар для MarVaL
116 / 116 / 16
Регистрация: 28.02.2013
Сообщений: 246
18.11.2013, 22:09     Построить класс для работы с односвязным списком
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
#include <iostream>
 
struct Node{
  int d;
  Node *next;
  Node *prev;
  
  Node()
    : next(0), prev(0) { }
  Node(int _d)
    : d(_d), next(0), prev(0) { }
  ~Node() { }
  
};
 
class List{
public:
  List()
    : Head(0), Tail(0) { }
  
  ~List(){
    Node *Temp = Head;
    while(Temp){
      Node *del = Temp->next;
      delete Temp;
      Temp = del;
    }
  }
  
  void add_node(int _d){
    Node *node = new Node(_d);
    if(!Head){
      Head = Tail = node;
    }else{
      Tail->next = node;
      node->prev = Tail;
      Tail = node;
    }
  }
  
  void show_list() const{
    Node *Temp = Head;
    for(; Temp; Temp = Temp->next){
      std::cout << Temp->d << " ";
    }
    std::cout << std::endl;
  }
  
  void sort(){
    bool state;
    Node *Temp;
    do{
      Temp = Head;
      state = true;
      while(Temp->next){
        if(Temp->d > Temp->next->d){
          int t = Temp->d;
          Temp->d = Temp->next->d;
          Temp->next->d = t;
          state = false;
        }
        Temp = Temp->next;
      }
    }while(!state);
  }
  
  friend List* operator+(const List& l1, const List& l2);
private:
  Node *Head;
  Node *Tail;
};
 
List* operator+(const List& l1, const List& l2){
  List *new_list = new List;
  Node *Temp = l1.Head;
  while(Temp){
    new_list->add_node(Temp->d);
    Temp = Temp->next;
  }
  Temp = l2.Head;
  while(Temp){
    new_list->add_node(Temp->d);
    Temp = Temp->next;
  }
  return new_list;
}
 
int main(){
  List *l1 = new List;
  List *l2 = new List;
  for(int i = 5; i > 0; --i)
    l1->add_node(i);
  
  for(int i = 9; i > 5; --i)
    l2->add_node(i);
  
  std::cout << "list 1: ";
  l1->show_list();
  std::cout << "list 2: ";
  l2->show_list();
  
  List *l3 = *l1 + *l2;
  
  std::cout << "obtained list: ";
  l3->show_list();
  std::cout << "sorted: ";
  l3->sort();
  l3->show_list();
  
  delete l1;
  delete l2;
  delete l3;
  return 0;
}
 
Текущее время: 15:48. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru