Step 6 (S-7043)

From Stepik Wiki
Jump to: navigation, search

Step on Stepik: https://stepik.org/lesson/543/step/6

Step 6 (S-7043) 1.png

[00:00 - 00:18] мы рассмотрим пример предположим что нам нужно вытереть динамический массив размер от мечты однако в отличие от предыдущей реализации мы будем выделять строчки массив неподдельность а все сразу дать поскольку это выглядит на картинке у нас так же как и раньше есть


[00:18 - 00:36] массив с указателями на строки но все строки содержится в 1 сегменте то есть мы сразу же уделяю достаточно большой сегмент памяти которая будет содержать все элементы массива нацию нашем случае массив содержит


[00:36 - 00:55] 23 м 5x4 5 строчек почту поэтому мы сразу будем сегмент который будет содержать 20 значение типа и дальше указатели выносить настройки внутри этого массива 1 указатель


[00:55 - 01:11] будет указывать на 1 элемент 2 указатель на которой будет если ты уже 2 строки будет указывать на то место где начинаются элементы соответствующие 2 строки и так далее


[01:11 - 01:28] как это записать на c + + точно так же мы сначала выделяю массив указателей настройки размера 5 55 показателей после этого мы инициализируем


[01:28 - 01:44] 1 элемент массива указатель на строки массивы ментов необходимый размер который содержит все элементы 8 то есть не строкой размеры че то я сразу же все строчками сюда записались 5x4 23 м


[01:44 - 02:03] после этого нам остается пробежаться по всему массиву и проставить указателей на соответствующие элементы внутри россии для того чтобы это сделать мы просто бежим с 2 ячейке и выставляем указатель


[02:03 - 02:18] в каждой ячейке как указать в предыдущие чеки то есть например как вот этот указатель + число ячеек которая соответствует длине строки + и


[02:18 - 02:33] получающиеся когда тебе будет указывает на начало следующей строки таким образом нам удалось уменьшить количество памяти от 6 до 2