Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Struct имя_типа




Линейный однонаправленный список

Динамические структуры данных

Во многих задачах требуется использовать данные, у которых конфигурация, размеры и состав могут меняться в процессе выполнения программы. Для их представления используют динамические информационные структуры. К таким структурам относят:

1) линейные списки;

2) стеки;

3) очереди;

4) бинарные деревья.

Они отличаются способом связи отдельных элементов и допустимыми операциями. Динамическая структура может занимать несмежные участки динамической памяти.

Наиболее простой динамической структурой является линейный однонаправленный список, элементами которого служат объекты структурного типа (рис. 25).

 

Рис. 25. Линейный однонаправленный список

 

Описание простейшего элемента такого списка выглядит следующим образом:

{

информационное поле;

адресное поле;

};

Информационное поле – это поле любого, ранее объявленного или стандартного, типа. Информационных полей может быть несколько.

Адресное поле – это указатель на объект того же типа, что и определяемая структура, в него записывается адрес следующего элемента списка.

 

Пример 104

1. struct Node

{

int key; //информационное поле

Node*next; //адресное поле

};

2. struct point

{

char*name; //информационное поле

int age; //информационное поле

point*next; //адресное поле

};

Каждый элемент списка содержит ключ, который идентифицирует этот элемент. Ключ обычно бывает либо целым числом (пример 104 1.), либо строкой (пример 104 2.).

Над списками можно выполнять следующие операции:

1) начальное формирование списка (создание первого элемента);

2) добавление элемента в конец списка;

3) добавление элемента в начало списка;

4) удаление элемента с заданным номером;

5) чтение элемента с заданным ключом;

6) вставка элемента в заданное место списка (до или после элемента с заданным ключом);

7) упорядочивание списка по ключу;

8) и др.

 

Пример 105. Создание и печать однонаправленного списка

#include <iostream.h>

#include<string.h>

//описание структуры




Поделиться с друзьями:


Дата добавления: 2014-11-29; Просмотров: 371; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.01 сек.