Главная страница Случайная страница Разделы сайта АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Связные списки и другие структуры.⇐ ПредыдущаяСтр 12 из 12
Для работы с массивом необходимо знать его размерность, хотя бы в начале работы программы. Если это данное не известно то можно либо сильно увеличить резервируемую память, либо рисковать ограниченность пространства для данных в массиве. Данную проблему решают связные списки. Связанный список это структура данных, содержащая из взаимосвязанных блоков. Идея состоит в том, что бы создать класс, который поддерживал бы данные определённого типа, среди которых был бы указатель, связанный с другим объектом этого класса. Существуют три основных вида списков: § Однонаправленные списки (очередь, стек); § Двунаправленные списки (дек и т.д.); § Деревья. Названия образуются от количества связующих список указателей в каждом объекте списка. Список состоит из узлов, узлы представляют собой абстрактные классы. Начало — это начало обработки промежуточных узлов списка, которые отвечают за хранение данных, указатель узла - “хвост” обязательно имеет значение null (0). // программа работы с динамическими списками при помощи классов. // однонаправленные списки, двунаправленные списки и деревья. #include < iostream.h> #include < iomanip.h> #include < fstream.h> ofstream fout(" rez.txt"); ifstream fin(" rez.txt"); Class Data { public: Data (); ~Data(){delete fam; } int Compare(const Data &); Void Show(); private: char fam[25]; Float ball; }; Data:: Data() { cout< < " \n Введите фамилию и средний балл: "; cin> > fam> > ball; } void Data:: Show() { cout.width(25); cout.fill(' '); cout< < fam;
|