Пятница, 20.06.2025, 02:04

Приветствую Вас Гость | RSS
Мой сайт
ГлавнаяРегистрацияВход
Меню сайта

Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0

Главная » 2016 » Апрель » 1 » Последовательные и связные списки : Связанные списки с++
21:28
Последовательные и связные списки : Связанные списки с++

Contents

[show]

    Структуры данных

    Логические структуры данных – это абстракции объектов реального мира.

    Физические структуры данных – это программные объекты. (массивы, ссылочные типы, файлы и др.)

    Структуры данных:

  • линейные (последовательные) списки
    – стек (stack)
    – очередь (queue)
    – дек (deque)
  • связные списки (linked lists)
    – односвязный список (singly linked list)
    – двусвязный список (doubly linked list)
    – циклический список (circular list)
  • хеш-таблицы (hash tables)
  • деревья (trees)
    – бинарные деревья (binary trees)

Линейные списки

Стек

Стек – линейный список, доступ к элементам которого осуществляется по принципу LIFO (Last In First Out).

Основные операции:
– инициализация (Init)
– деструктизация (Destroy)
– помещение элемента в стек (Push)
– удаление элемента из стека (Pop)
– значение верхнего элемента (Top)
– проверка на пустоту (isEmpty)
– проверка на полноту (isFull)

Очередь

Очередь – линейный список, доступ к элементам которого осуществляется по принципу FIFO (First In First Out).

Основные операции:
– инициализация (Init)
– деструктизация (Destroy)
– помещение элемента в очередь (Insert)
– удаление элемента из очереди (Remove)
– значение первого элемента (Head)
– значение последнего элемента (Tail)
– проверка на пустоту (isEmpty)
– проверка на полноту (isFull)

Дек

Дек – линейный список, доступ к элементам которого как с начала, так и с конца списка.

Основные операции:
– инициализация (Init)
– деструктизация (Destroy)
– помещение элемента в начало дека (InsertHead)
– помещение элемента в конец дека (InsertTail)
– удаление элемента из начала дека (RemoveHead)
– удаление элемента из конца дека (RemoveTail)
– значение первого элемента (Head)
– значение последнего элемента (Tail)
– проверка на пустоту (isEmpty)
– проверка на полноту (isFull)

Связные списки

Связный список – структура данных, состоящая из узлов, каждый из которых содержит как собственные данные, так и ссылки на следующий и/или предыдущий узел списка.

Односвязный список

Singly linked listSingly linked list
В односвязном списке можно передвигаться только в сторону конца списка. Узнать адрес предыдущего элемента, опираясь на содержимое текущего элемента невозможно.

Двусвязный список

Doubly linked listDoubly linked list
По двусвязному списку можно передвигаться в любом направлении — как к началу, так и к концу. В этом списке проще производить удаление и перестановку элементов, так как всегда известны адреса тех элементов списка, указатели которых направлены на изменяемый элемент.

Циклический список

Circurlar listCircurlar list
Циклический список тоже может быть односвязным или двусвязным. Последний элемент циклического списка содержит указатель на первый, а первый (в случае двусвязного списка) — на последний. Реализация такой структуры происходит на базе линейного списка.

Просмотров: 374 | Добавил: supoinclus | Рейтинг: 0.0/0
Всего комментариев: 0
Вход на сайт

Поиск

Календарь
«  Апрель 2016  »
Пн Вт Ср Чт Пт Сб Вс
    123
45678910
11121314151617
18192021222324
252627282930

Архив записей

Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz


  • Copyright MyCorp © 2025Бесплатный хостинг uCoz