Динамические массивы | Что это такое? (11 кл. 136 ч.)

Планирование уроков на учебный год (по учебнику К.Ю. Полякова, Е.А. Еремина, полный углублённый курс, по 4 часа в неделю)


Уроки 69 - 70
Динамические массивы
(§40. Динамические массивы)



Содержание урока

Что это такое?

Размещение в памяти

Использование в подпрограммах

Расширение массива

Как это работает?

Вопросы и задания

Задачи


Что это такое?


Когда мы объявляем массив, место для него выделяется во время трансляции, т. е. до выполнения программы. Такой массив называется статическим.

В то же время иногда размер данных заранее неизвестен. Например, пусть в файле записан массив чисел, которые нужно отсортировать. Их количество неизвестно, но известно, что такой массив помещается в оперативную память.

В этом случае есть два варианта:

1) выделить заранее максимально большой блок памяти;
2) выделять память уже во время выполнения программы (т. е. динамически), когда станет известен необходимый размер массива.

Другой пример — задача составления алфавитно-частотного словаря. В файле находится список слов. Нужно вывести в другой файл все различные слова, которые встречаются в файле, и определить, сколько раз встречается каждое слово. Здесь проблема состоит в том, что нужный размер массива можно узнать только тогда, когда все различные слова будут найдены и, таким образом, задача решена. Поэтому нужно сделать так, чтобы массив мог «расширяться» в ходе работы программы.

Эти задачи приводят к понятию динамических структур данных, которые позволяют во время выполнения программы:

• создавать новые объекты в памяти;
• изменять их размер;
• удалять их из памяти, когда они не нужны.

Память под эти объекты выделяется в специальной области, которую обычно называют «кучей» (англ. heap).

Следующая страница Размещение в памяти



Cкачать материалы урока







Наверх