🗊Презентация Использование динамической памяти при организации списков и их обработке. Лекция 10

Нажмите для полного просмотра!
Использование динамической памяти при организации списков и их обработке. Лекция 10, слайд №1Использование динамической памяти при организации списков и их обработке. Лекция 10, слайд №2Использование динамической памяти при организации списков и их обработке. Лекция 10, слайд №3Использование динамической памяти при организации списков и их обработке. Лекция 10, слайд №4Использование динамической памяти при организации списков и их обработке. Лекция 10, слайд №5Использование динамической памяти при организации списков и их обработке. Лекция 10, слайд №6Использование динамической памяти при организации списков и их обработке. Лекция 10, слайд №7Использование динамической памяти при организации списков и их обработке. Лекция 10, слайд №8Использование динамической памяти при организации списков и их обработке. Лекция 10, слайд №9Использование динамической памяти при организации списков и их обработке. Лекция 10, слайд №10Использование динамической памяти при организации списков и их обработке. Лекция 10, слайд №11Использование динамической памяти при организации списков и их обработке. Лекция 10, слайд №12Использование динамической памяти при организации списков и их обработке. Лекция 10, слайд №13

Вы можете ознакомиться и скачать презентацию на тему Использование динамической памяти при организации списков и их обработке. Лекция 10. Доклад-сообщение содержит 13 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1





Программирование на языке С++
Зариковская Наталья Вячеславовна
Лекция 10
Описание слайда:
Программирование на языке С++ Зариковская Наталья Вячеславовна Лекция 10

Слайд 2





Линейные структуры данных
Стек (stack)
Очередь (queue)
Дэк (deque; double-ended queue)
Список (list)
Описание слайда:
Линейные структуры данных Стек (stack) Очередь (queue) Дэк (deque; double-ended queue) Список (list)

Слайд 3





Стек
		Стеком (англ. stack) называется хранилище данных, в котором можно работать только с одним элементом: тем, который был добавлен в стек последним. Стек должен поддерживать следующие операции: 

Push
	Добавить (положить) в конец стека новый элемент 
Pop
	Извлечь из стека последний элемент 
Top
	Узнать значение последнего элемента (не удаляя его) 
Size
	Узнать количество элементов в стеке 
Clear
	Очистить стек (удалить из него все элементы)
Описание слайда:
Стек Стеком (англ. stack) называется хранилище данных, в котором можно работать только с одним элементом: тем, который был добавлен в стек последним. Стек должен поддерживать следующие операции: Push Добавить (положить) в конец стека новый элемент Pop Извлечь из стека последний элемент Top Узнать значение последнего элемента (не удаляя его) Size Узнать количество элементов в стеке Clear Очистить стек (удалить из него все элементы)

Слайд 4





Способы реализации линейных динамических структур
Реализация на базе массива фиксированного размера
Реализация на базе динамического массива
«Ссылочная» реализация
Описание слайда:
Способы реализации линейных динамических структур Реализация на базе массива фиксированного размера Реализация на базе динамического массива «Ссылочная» реализация

Слайд 5





Реализация стека на базе массива
Описание слайда:
Реализация стека на базе массива

Слайд 6





Реализация на базе динамического массива
Описание слайда:
Реализация на базе динамического массива

Слайд 7





«Ссылочная» реализация стека
Описание слайда:
«Ссылочная» реализация стека

Слайд 8





Очередь
		Очередью (aнгл. queue)) называется структура данных, в которой элементы кладутся в конец, а извлекаются из начала. Таким образом, первым из очереди будет извлечен тот элемент, который будет добавлен раньше других. 
		
Enqueue
	Добавить (положить) в конец очереди новый элемент 
Dequeue
	Извлечь из очереди первый элемент 
Front
	Узнать значение первого элемента (не удаляя его) 
Size
	Узнать количество элементов в очереди 
Clear
	Очистить очередь (удалить из нее все элементы)
Описание слайда:
Очередь Очередью (aнгл. queue)) называется структура данных, в которой элементы кладутся в конец, а извлекаются из начала. Таким образом, первым из очереди будет извлечен тот элемент, который будет добавлен раньше других. Enqueue Добавить (положить) в конец очереди новый элемент Dequeue Извлечь из очереди первый элемент Front Узнать значение первого элемента (не удаляя его) Size Узнать количество элементов в очереди Clear Очистить очередь (удалить из нее все элементы)

Слайд 9





Очередь на массиве
		 Элементы очереди будем также хранить в массиве. При этом из очереди удаляется первый элемент, и, чтобы не сдвигать все элементы очереди, будем в отдельном поле start_index хранить индекс элемента массива, с которого начинается очередь. При удалении элементов, очередь будет "ползти" дальше от начала массива. Чтобы при этом не происходил выход за границы массива, замкнем массив в кольцо: будем считать, что за последним элементом массива следует первый.
Описание слайда:
Очередь на массиве Элементы очереди будем также хранить в массиве. При этом из очереди удаляется первый элемент, и, чтобы не сдвигать все элементы очереди, будем в отдельном поле start_index хранить индекс элемента массива, с которого начинается очередь. При удалении элементов, очередь будет "ползти" дальше от начала массива. Чтобы при этом не происходил выход за границы массива, замкнем массив в кольцо: будем считать, что за последним элементом массива следует первый.

Слайд 10





Очередь на массиве
struct Queue {
  int data[MAX_SIZE];
  int size;
  int start_index;
};
void enqueue(Queue *queue, int value) {
  queue->data[(queue->start_index + queue->size) % MAX_SIZE] = value;
  queue->size++;
}

int dequeue(Queue *queue) {
  int ret = queue->data[queue->start_index % MAX_SIZE]; 
  queue->size--;
  queue->start_index++;
  return ret;
}
Описание слайда:
Очередь на массиве struct Queue { int data[MAX_SIZE]; int size; int start_index; }; void enqueue(Queue *queue, int value) { queue->data[(queue->start_index + queue->size) % MAX_SIZE] = value; queue->size++; } int dequeue(Queue *queue) { int ret = queue->data[queue->start_index % MAX_SIZE]; queue->size--; queue->start_index++; return ret; }

Слайд 11





Дек
		 Деком (англ. deque – аббревиатура от double-ended queue, двухсторонняя очередь) называется структура данных, в которую можно удалять и добавлять элементы как в начало, так и в конец. Дек хранится в памяти так же, как и очередь. Система команд дека: 

push_front : Добавить (положить) в начало дека новый элемент 
push_back : Добавить (положить) в конец дека новый элемент 
pop_front : Извлечь из дека первый элемент 
pop_back : Извлечь из дека последний элемент 
front : Узнать значение первого элемента (не удаляя его) 
back : Узнать значение последнего элемента (не удаляя его) 
size : Узнать количество элементов в деке 
clear : Очистить дек (удалить из него все элементы)
Описание слайда:
Дек Деком (англ. deque – аббревиатура от double-ended queue, двухсторонняя очередь) называется структура данных, в которую можно удалять и добавлять элементы как в начало, так и в конец. Дек хранится в памяти так же, как и очередь. Система команд дека: push_front : Добавить (положить) в начало дека новый элемент push_back : Добавить (положить) в конец дека новый элемент pop_front : Извлечь из дека первый элемент pop_back : Извлечь из дека последний элемент front : Узнать значение первого элемента (не удаляя его) back : Узнать значение последнего элемента (не удаляя его) size : Узнать количество элементов в деке clear : Очистить дек (удалить из него все элементы)

Слайд 12





Связанный список
Узел односвязного списка:
struct Node {
  int value;
  Node *next;
};
Описание слайда:
Связанный список Узел односвязного списка: struct Node { int value; Node *next; };

Слайд 13





Связанный список
Узел двусвязного списка:
struct Node {
  Node *prev;
  int value;
  Node *next;
};
Описание слайда:
Связанный список Узел двусвязного списка: struct Node { Node *prev; int value; Node *next; };



Похожие презентации
Mypresentation.ru
Загрузить презентацию