Как отсортировать пузырьком комбинированные типы данных - Pascal ABC
Формулировка задачи:
Изучаем комбинированный тип данных.
Дана таблица абоненты, в ней есть имя абонента и его телефон,
Нужно добавить процедуры сортировки записей по имени и по номеру телефона методом пузырька.
Я всю таблицу сделал, мне остался только пузырек, но я не знаю как это оформить в таблице
примерно написал, но она не работает.
начало программы
Дайте хотя бы подсказку.
Решение задачи: «Как отсортировать пузырьком комбинированные типы данных»
textual
Листинг программы
procedure del(var a: phonebook; var m:integer; s :string); var i,j:integer; begin i:=1; while i<=m do if s =a[i].name then if i=m then m:=m-1 else begin for j:=i to m-1 do a[j]:=a[j+1]; m:=m-1; end; end;
Объяснение кода листинга программы
- В процедуре
del
объявлены три переменные:a
,m
иs
. Переменнаяa
является указателем на телефонную книгу, а переменныеm
иs
являются целочисленными и строковым типами данных соответственно. - Переменная
i
инициализируется значением 1. - Затем, в цикле
while
, проверяется условиеi <= m
. Цикл выполняется, пока значение переменнойi
меньше или равно значению переменнойm
. - Внутри цикла, если строка
s
равна имени текущего элемента в телефонной книге (a[i].name
), то выполняется следующая часть условияif i=m then m := m-1
. Это означает, что если текущий элемент совпадает с последним элементом, то переменнаяm
уменьшается на 1. - Если условие не выполняется (то есть, текущий элемент не является последним), то выполняется вложенный цикл
for j := i to m-1 do
, который перебирает все элементы отi
доm-1
включительно. - Внутри вложенного цикла, каждому элементу присваивается значение следующего элемента (
a[j] := a[j+1]
). Таким образом, значения элементов сдвигаются вправо. - После завершения вложенного цикла, переменная
m
уменьшается на 1. - Цикл
while
завершается, когда значение переменнойi
становится больше или равно значению переменнойm
. - В результате выполнения процедуры, строки в телефонной книге перестановятся так, что последние строки будут расположены первыми.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д