Показаны сообщения с ярлыком указатели. Показать все сообщения
Показаны сообщения с ярлыком указатели. Показать все сообщения

суббота, 31 марта 2012 г.

C++ : Алгоритмы - Бинарное дерево поиска. Часть III

Продолжение статьи про бинарные деревья...Уже третья часть...

На повестке дня - 2 вида поиска в бинарном дереве. Точнее, вид один, но видов возращаемых значений 2 - это true/false и pointer, то есть указатель на элемент в дереве.

Использовать будем конечно шаблоны и рекурсию. Ниже листинги этих четырёх (2 основных и две, которые вызываются рекурсивно) функций.

Возращает  булевское значение :
bool FindReturnBool(const TypeOfTree& dataToInsert);
//Вспомагательная функция для поиска елемента(true/false)
bool _FindReturnBool(BinaryTree<TypeOfTree>* element,const TypeOfTree& dataToInsert);     

суббота, 16 июля 2011 г.

С++: Ввод в структуры данных. Линейный список и очередь

Немного теории...
1. Линейный список
Линейный список представляет собой динамическую структуру, доступ к элементам которой осуществляется через указатель на первый элемент (голову списка). Каждый элемент связанного списка , во-первых, хранит какую-то информацию (данные), во-вторых, указывает на следующий за ним или предыдущий элемент. Для представления списка с помощью указателей вводится тип:
struct Node
{
      int data;      //информационное поле, данные, любой порядковый тип
      Node *next;         //указатель на следующий элемент
};
typedef Node * PNode;