Реферат: Создание и обработка динамического списка
4 Указатель на текущий элемент p устанавливаем на следующий элемент списка
5 Закрываем цикл с заданным числом повторений
6 Вводим переменную k2, которая указывает на название второго элемента в операции перемены мест
7 Устанавливаем указатель p2 на первый элемент списка.
8 Открываем цикл с заданным числом повторений (j=0…k2); в цикле будет выполняться шаг 4
9 Указатель на текущий элемент p2 устанавливаем на следующий элемент списка
10 Закрываем цикл с заданным числом повторений
11 Переменной с присваиваем данные внутренней структуры, на которые указывает указатель текущего элемента p
12 Данные внутренней структуры, на которые указывает указатель текущего элемента p2, копируем в переменные внутренней структуры, на которые указывает указатель текущего элемента p.
13 Значение переменной с присваиваем переменным внутренней структуры, на которые указывает указатель текущего элемента p2.
14 Конец процедуры
10
5. Выбор языка
Язык программирования СИ++ является языком высокого уровня. Язык СИ++ был разработан на основе языка СИ Бьярном Страуструпом. Выбор языка СИ++ для решения данной задачи обусловлен наличием в языке СИ++ средств для динамического распределения памяти.
Динамическое распределение памяти осуществляется операциями new и delete. Это 2 особые унарные операции, появившиеся в языке СИ++ (в языке СИ этих операций не было). Операция new имя_типа или new имя_типа инициализатор позволяет выделить и сделать доступным свободный участок в основной памяти, размеры которого соответствуют типу данных, определяемому именем типа. В выделенный участок заносится значение, определяемое инициализатором, который не является обязательным элементом. В случае успешного выполнения операции new возвращает адрес начала выделенного участка памяти. Если участок нужных размеров не может быть выделен (нет памяти), то операция new возвращает нулевое значение адреса (NULL). Синтаксис применения операции: указатель=new имя_типа инициализатор .
Продолжительность существования выделенного с помощью операции new участка памяти – от точки создания до конца программы или до явного его освобождения.
Для явного освобождения выделенного операцией new участка памяти используется оператор delete указатель , где указатель адресует освобождаемый участок памяти, ранее выделенный с помощью операции new .
11
6. Разработка программы
6.1 Основная часть программы.
0 Начало. Описываем глобальные переменные и типы данных
1 Очищаем экран с помощью оператора clrscr()
2 Присваиваем переменной а, которая является параметром последующего цикла и оператора множественного выбора значение равное единицы: a=1
3 Открываем цикл с предусловием (условие: переменная а не равна 5); в цикле будут выполняться шаги с 4 по 11: while (a!=5)
4 Вводим переменную а: a=getch()
5 Выполняем оператор множественного выбора с параметром а; оператор включает шаги с 6 по 10: switch(a)
6 Если а=1, вызываем процедуру ввода данных: case '1':vvod(); break
7 Если а=2, вызываем процедуру вывода данных: case '2':vivod(); break
8 Если а=3, вызываем процедуру удаления первого элемента: case '3':dele(); break;