Page 48 - Bkhargava_-_Grokaem_algoritmy
P. 48

Массивы и связанные списки   47



        ны читаться последовательно: сначала вы читаете один элемент, по адресу
        переходите к следующему элементу и т. д. Но если вы намерены прыгать по
        списку туда-сюда, держитесь подальше от связанных списков.
        С массивами дело обстоит совершенно иначе. Работая с массивом, вы за­
        ранее знаете адрес каждого его элемента. Допустим,  массив содержит пять
        элементов и вы знаете,  что он начинается с адреса 00. По какому адресу
        хранится пятый элемент?

                              М~С.С.И6 MJ  ПJITM ЭЛЕ.МЕ.НТО6
                             ______ ____.)_ \..._..__ ____ ~,
                           r                         ,
                           \          \         \ ;h ПJIТЫК
                                             ОЗ  ()/\-   ЭЛЕ.МЕ.НТ
                             оо  о'1  02


        Простейшая математика дает ответ:  это адрес 04. Массивы прекрасно подхо­
        дят для чтения элементов в произвольных позициях, потому что обращение
        к любому элементу в массиве происходит мгновенно. В связанном списке
        эл е менты не хранятся рядом друг с другом, поэтому мгновенно определить
        позицию i-го элемента в памяти невозможно - нужно обратиться к перво­
        му элементу, чтобы получить адрес второго элемента, затем обратиться ко
        второму элементу для получения адреса третьего -    и так далее, пока вы не
        доберетесь до i-го.


        Терминология

        Элементы массива пронумерованы,  причем нумерация начинается с О,  а не
        с 1. Например, в этом массиве значение 20 находится в позиции 1.






                                          1    2  3



        А значение 1 О находится в позиции О. Неопытных программистов этот факт
        обычно вводит в ступор. Тем не менее выбор нулевой начальной позиции


                                                         www.trk.kg
   43   44   45   46   47   48   49   50   51   52   53