Курсовая работа: Обработка динамических структур
2.3 Присвоить указателю
на предшествующий текущему элемент адрес предыдущего элемента.
2.4 Если указатель на
начало списка обнулён, то присвоить вершине списка адрес текущего элемента, то
есть текущий элемент становится вершиной.
2.5 Иначе, присвоить указателю
на следующий за предыдущим элемент списка адрес текущего элемента.
2.6 Приравнять адрес
текущего элемента к адресу предыдущего.
Аналогичные действия
проводятся со вторым списком. Далее:
2.7 Считать
информационные поля элемента первого списка.
2.8 Приравнять
информационные поля элементов первого списка к информационным полям второго.
2.9 Обнулить поле количества
книг.
2.10 Считать значение s.
3. Вернуть указатель на
начало первого списка.
Таблица 3.3.1-Локальные
идентификаторы функции vvodSp
Идентификатор |
Тип
|
Назначение |
s |
char |
предназначена для ответа на вопрос: продолжать ли список |
cur, cur2 |
el* |
указатель на текущие элементы |
tail, tail2 |
el* |
указатель на хвосты списка |
top |
el* |
указатель на начало первого списка |
top2 |
el* |
указатель на начало второго списка |
3.3.2 Описание работы подпрограммы loadIT
Подпрограмма
предназначена для считывания данных первого и второго списков из файлов.
Входные параметры функции
– указатель на указатель на начало первого и второго списков.
1. Обнулить ссылки на
хвосты и вершины обоих списков.
2. Открыть файлы "Base.txt" и "Out.txt"
для чтения.
3. В цикле "пока не
конец файла" динамически выделять память под указатель на текущий элемент.
3.1 Обнулить указатель на
элемент, следующий за текущим.
3.2 Приравнять указатель
на конец списка к указателю на предшествующий.
3.3 Если указатель на
начало списка пустой, то присвоить ему адрес текущего элемента, текущий элемент
становится началом списка.
3.4 Иначе присвоить адрес
текущего элемента указателю на следующий за предыдущим.
3.5 Указатель на текущий
элемент приравнять к последнему.
3.6 Произвести считывание
списков из файлов.
4. Закрыть все файлы.
Таблица 3.3.2-Локальные
идентификаторы функции loadIT
Идентификатор |
Тип
|
Назначение |
cur, cur2 |
el* |
указатели на текущие элементы |
pr |
el* |
указатель на предыдущий элемент списка |
tail, tail2 |
el* |
указатель на хвост первого и второго списков |
3.3.3 Описание работы подпрограммы sort
Подпрограмма
предназначена для сортировки списков по фамилии автора. Обращение к функции
происходит и при добавлении нового элемента в список. Входной параметр функции
– указатель на начало первого списка.
1. В цикле "пока не
конец списка перейти к последующему элементу".
1.2 Если указатель на
следующий элемент поля имени автора меньше текущего, то записать в
дополнительную переменную dop
адрес информационного поля текущего элемента.
1.3 Присвоить полю текущего
элемента адрес поля следующего элемента, то есть переписать в текущий элемент
данные последующего.
1.4 Присвоить указателю
на следующий элемент поля имени автора адрес вспомогательной переменной.
Таблица 3.3.3-Локальные
идентификаторы функции sort
Идентификатор |
Тип
|
Назначение |
k |
int |
результат обмена (есть/нет) |
cur |
el* |
указатель на текущий элемент |
dop |
book |
вспомогательная переменная |
3.3.4 Описание работы подпрограммы vivodSp
Подпрограмма обеспечивает
вывод на печать текущего списка. При обращении к ней может вывести содержимое
первого или второго списка. Входной параметр – указатель на текущий элемент
списка.
В цикле "пока не
конец списка", если информационное поле количества книг больше нуля, то
распечатать текущий элемент и перейти к следующему.
3.3.5 Описание работы подпрограммы dobEl
Подпрограмма
предназначена для добавления нового элемента в списки. Входные параметры –
указатели на текущий элемент первого и второго списков.
1. В циклах "пока
указатель на последующий элемент первого и второго списков не пустой"
1.2 Выделить динамически
память под добавляемые элементы.
Страницы: 1, 2, 3, 4, 5, 6 |