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

Реализация класса множество через двусвязный список. - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Построить класс для описания плоской геометрической фигуры прямоугольник http://www.cyberforum.ru/cpp-beginners/thread377593.html
Построить класс для описания плоской геометрической фигуры прямоугольник. Предусмотреть методы для создания объектов и изменения.
C++ ошибка в функции подскажите как исправить в функции ввод списка с экрана, там был бесконечный цикл который прерывался операторов Break, препод сказал что это не грамотно прерывать цикл с помощью Break, попытался в while само условие написать но выдает такую ошибку " File3.cpp(119): E2378 Do-while statement missing ; Full parser context File3.cpp(106): parsing: sp * fs_enter()" че не так ??? using namespace std; char bufRus;... http://www.cyberforum.ru/cpp-beginners/thread377565.html
C++ Определение матрицы смежности графа по заданной матрице инцидентности
Доброй ночи :) Изучаю графы, написал фукнцию для конвертации матрицы инцидентности в матрицу смежности, а наоборот не выходит. Слева на рисунке матрицы инцидентности, с неё получаю матрицу смежности. А обратно ерунду выдает... Подскажите идею, пожалуйста .
Unicod C++
Доброго времени суток. Подскажите кто знает достойный материал(возможно книги) по использованию юникода в срр приложениях. Об LPWSTR WCHAR и тд. С юникодам ранее практически не работал, а найти полной и исчерпывающей информации так и не получилось, в книгах которые изучал применялся acsi. Со string, *char уж давно разобрался, а тут начал изучать винапи (по Петзольдсу) и все бы хорошо, да...
C++ Найти все натуральные числа, не превышающие заданного N, которые делятся на каждую из своих цифр. http://www.cyberforum.ru/cpp-beginners/thread377516.html
Найти все натуральные числа, не превышающие заданного N, которые делятся на каждую из своих цифр. Надо решить через функцию .Без массивов.
C++ Просьба в компиляции Приветствую. Я в С полный ноль (даже меньше), делаю проект на дельфи. Нашел инфу по RSA-шифрованию, но как обычно есть проблемы. Вроде и тема про связку дельфи и опенссл, но пример почему то на C++. Есть пример проги, но ставить С++ для компиляции как то смысла нет, вдруг там ошибки в коде какие нить. Вот здесь есть код, скомпильте, плиз, кому не влом и отправьте мне на мыльце плиз. Хочется... подробнее

Показать сообщение отдельно
Fantom.AS
2 / 1 / 0
Регистрация: 17.11.2010
Сообщений: 121
05.11.2011, 15:34  [ТС]     Реализация класса множество через двусвязный список.
Цитата Сообщение от Nameless One Посмотреть сообщение
нет, это уже лишнее. У тебя функция добавления элемента будет обладать свойством, что результирующий список будет уже отсортированным
Я уже понял идею и что будет, но пока не понял, как это реализовать, хотя на интуитивном уровне алгоритм мне ясен...

Добавлено через 5 часов 37 минут
Nameless One, и все же до меня не может дойти, как реализовать твой алгоритм добавления элемента

Добавлено через 18 часов 59 минут
Цитата Сообщение от Nameless One Посмотреть сообщение
Fantom.AS, храни элементы в множестве в упорядоченном состоянии. Вот алгоритм добавления элемента:
Положим, у тебя сначала есть указатель на первый элемент списка. Цикл:
Если указатель указывает на NULL, то создаешь новый узел со значением добавляемого элемента и устанавливаешь текущий указатель на этот узел. Конец цикла
Если значение узла, на который указывает указатель, равно значению добавляемого элемента, то ничего не делаешь. Конец цикла
Если значения узла, на который указывает указатель, больше добавляемого значения, то создаешь новый узел со значением добавляемого элемента и помещаешь новый узел перед текущим указателем. Конец цикла
Если значение узла, на который указывает указатель, больше значения добавляемого элемента, то переходишь к следующему значению указателя и к следующей итерации цикла
__________________



Вот, я реализовал добавление элемента. надеюсь правильно

C++
1
2
3
4
5
6
7
8
9
10
11
void Set_list::push(int value)
{
    node *ptr = first;
    while(true)
    {   
        if (ptr=NULL){ push_end(value); break;}
        if (ptr->data==value) break;
        if (ptr->data>value) { ptr= new node(value, ptr->next, ptr->prev); break;  }
        if (ptr->data<value) {ptr=ptr->next; }
    }
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru