Шаг 1.
Линейные однонаправленные списки. Общие сведения

    На этом шаге мы приведем общие сведения о списках.

    Список - это совокупность объектов, называемых элементами списка, в которой каждый объект содержит информацию о местоположении связанного с ним объекта [1, с. 214].

    Если список располагается в оперативной памяти, то, как правило, информация для поиска следующего объекта - это адрес (указатель) в памяти. Если список хранится в файле на диске, то информация о следующем элементе может включать смещение элемента от начала файла, положение указателя записи/считывания файла, ключ записи и любую другую информацию, позволяющую однозначно отыскать следующий элемент списка.

    Каждый элемент списка представим структурой языка C++ с двумя полями:

    Каждую пару будем называть звеном, а ссылки, содержащиеся в каждом из звеньев, будем использовать для соединения звеньев в список. Такой способ представления упорядоченной последовательности звеньев называется сцеплением.

    С учетом сказанного, мы можем описать звено списка так:

    struct node
    {
      int elem; //Информационный элемент звена списка 
      node *sled; // Указатель на следующее звено списка 
    };

    Чтобы иметь возможность оперировать со списком как с единым объектом, введем в употребление статическую ссылочную переменную phead, которая указывает на первое звено списка и описывается следующим образом:

    struct node *phead;



(1)Касаткин А.И., Вальвачев А.Н. Профессиональное программирование на языке Си: От Turbo C к Borland C++: Справ.пособие. - Мн.: Выш.шк., 1992. - 240 с.


    На следующем шаге мы рассмотрим однонаправленные списки без заглавного звена.




Содержание Следующий шаг