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

двусвязный список. База данных на его основе - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Задача о рюкзаке (тема: генерация всех подмножеств n по k) кому надо http://www.cyberforum.ru/cpp-beginners/thread978764.html
#include <iostream> #include <stdio.h> #include <stdlib.h> #include <math.h> using namespace std; void main() { freopen("input.txt","r",stdin); freopen("output.txt","w",stdout); int *M = new int;
C++ Присвоить NULL массиву Здравствуйте! Есть код: matrix(); clear(); В классе matrix объявлен указатель unsigned char* data;. В конструкторе matrix() есть строка data = NULL; Когда захожу в функцию clear, data уже не равен нулю! Дебаггер показывает, что он указывает на значение 0'', имеет ненулевой адрес! http://www.cyberforum.ru/cpp-beginners/thread978733.html
Программа работы со стеком подскажите пожалуйста C++
Для решения задачи использовать стандартный тип "стек", определённый в библиотеке STL. Исходные данные можно получить как вводом с клавиатуры, так и генератором случайных чисел. (2 задача) СТЕКИ Дан заполненный стек целых чисел. Удалить из него числа, квадратный корень из котрых является целым числом. Порадок оставшихся чисел поменять на обратный. Для решения использовать вспомогательную...
C++ Соединить их в один упорядоченный массив F. Число сравнений не должно превышать m+n
Даны два упорядоченных набора чисел C1, C2, ..., Cn и D1, D2, ..., Dm. Соединить их в один упорядоченный массив F. Число сравнений не должно превышать m+n. Не могу понять Число сравнений не должно превышать m+n., если не трудно подскажите
C++ Дано натуральное число n. Вычислить: http://www.cyberforum.ru/cpp-beginners/thread978689.html
помогите написать на С++ Дано натуральное число n. Вычислить: 1*2+2*3*4+3*4*5*6+...+n(n+1)...2n
C++ Программа работы с очередью подскажите пожалуйста Для решения задачи использовать стандартный тип "очередь", определённый в библиотеке STL. Исходные данные можно получить как вводом с клавиатуры, так и генератором случайных чисел. (1 задача) ОЧЕРЕДИ Очередь p заполнена чётным количесвом вещественых чисел. Из очереди изымаются 2 элемента. Если первый больше второго, то вычисляется их среднее значение, в противном случае выбирается... подробнее

Показать сообщение отдельно
lemegeton
 Аватар для lemegeton
2908 / 1337 / 133
Регистрация: 29.11.2010
Сообщений: 2,720
11.11.2013, 08:54     двусвязный список. База данных на его основе
Вообще, для решения таких задач и были придуманы шаблонные типы. Если вам кровь-из-носу надо велосипедить, то руками это повторить нетрудно:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
template <class T>
class LinkedList {
 public:
  void add(const T &value) {
    // код добавления ...
  }
  void erase(const T &value) {
    // код удаления ...
  }
};
 
...
// ну и при создании объекта связного списка специфицируете шаблонный параметр своей структурой:
LinkedList<Auto> autoList;
Auto a;
autoList.add(a);
...
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
struct Auto
{
    char Name[25];
    char Brand[25];
    char Color[15];
    char Country[20];
    int Price;
    bool Availability;
    int d;
    Auto *next;
    Auto *prev;
    Auto():next(NULL),prev(NULL), d(-332215){}
    Auto(Auto* ptr_n, Auto *ptr_p , int *data): next(ptr_n),prev(ptr_p), d(data) {}
};
В принципе, можно и так сделать. Связный список структур, которые сами хранят указатель на следующий и предыдущий объект называется "неинтрузивным связным списком" и такой список сам не создает никаких объектов в памяти, чем очень привлекателен.
 
Текущее время: 23:33. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru