В этой статье я напишу реализацию алгоритма по сортировке массива данных. Этот алгоритм можно использовать для построения списка игроков для таблицы рекордов или для поиска самого сильно (или слабого) врага на уровне и т.д.
Я буду реализовывать этот алгоритм на IDE AGK с коментариями каждой строки кода.DIM number[100] as integer // Создаем пустой массив целых чисел
for i=1 to 100 // Начало цикла со счетчиком
number[i]=random(1,1000) // Каждому элементу массива присваиваем случайное число от
1 до 1000
next i // Конец цикла со счетчиком
LOOP // Начало Игрового цикла
repeat // Начало цикла с постусловием
for i=1 to 99
done$="TRUE" // Строковой переменной done$ присваиваем значение
"ИСТИНА"
if number[i]>number[i+1] //Проверяем больший следующий элемент массива за
предидущий или нет
temp_number=number[i] // Если больший то: переменной temp_number присваиваем
значение элемента массива number[i]
number[i]=number[i+1] // Элементу массива number[i] присваиваем значение
следующего элемента number[i+1]
number[i+1]=temp_number // Элементу массива number[i+1] присваиваем значение
temp_number
done$="FALSE" // Переменной done$ присваиваем значение "ЛОЩЬ"
endif
next i // Конец цикла со счетчиком
until done$="TRUE" // Проверяем условие цикла: если done$="ИСТИНА", то выходим
из цикла
DO // Конец игрового цикла
Если все элементы массива уже упорядочены, то условный оператор IF не присвоит значение переменной done$="FALSE" и программа выйдет из цикла с постусловием.
Переменная temp_number добавляется в программу для временного хранения элемента массива. Без этой переменной мы просто потеряем значение этого элемента.
В раздел "АЛГОРИТМЫ" я буду добавлять свою реализацию известных (и не очень) алгоритмом. Следующим я добавлю алгоритм " Поиск пути А* ".
Комментариев нет:
Отправить комментарий