Сортировка массива с помощью дерева - VB
Формулировка задачи:
Помогите сделать лабу.
Сортировка массива с помощью дерева
Цель выполнения заданий:
освоение алгоритмов и методов построения дере-вьев и их применение для сортировки массивов.
Задание № 1. Сортировка числового массива с помощью дерева по воз-растанию.
Задание выполняется в Excel.
1.1. Сформировать одномерный массив чисел. Для этого в строку 2 вве-сти массив целых случайных чисел, имеющих равномерный закон распреде-ления в интервале [20, 45] (рис. 1):
Рис. 1.
----------------------------------------------------------
Массив может иметь любую размерность. Для заполнения массива ис-пользовать функции ЦЕЛОЕ() и СЛЧИС() и операцию автозаполнения ячеек Excel.
1.2. Разработать модуль (процедуру) сортировки массива по возраста-нию с помощью дерева. Модуль должен содержать следующие процедуры:
1.2.1. Процедура Read_array. Служит для считывания данных из электронной таблицы и присвоения их одномерному массиву A(N). Размер-ность массива должна определяться автоматически.
1.2.2. Процедура Sort_tree. Основана на обращении к процедуре Shift (служит для построения дерева) с целью сортировки массива A(N). Процеду-ра Sort_tree должна обеспечивать вывод результатов сортировки в электрон-ную таблицу Excel.
1.3. Вывести результаты сортировки и построить бинарное дерево — пирамиду. Дерево должно быть представлено в виде гистограммы и графа,
расположенного в ячейках электронной таблицы Excel.
Варианты задания.
В1. Сформировать данные согласно п. 1.1. задания 1. Массив должен содержать данные действительного типа. Для генерации данных с помощью указанных функций INT()(ЦЕЛОЕ()) и RAND() (СЛЧИС()) создать модуль Gener. Затем выполнить п. 1.2 – 1.3 задания 1, отсортировав массив по убыванию.
1.1. я сделала , а дальше никак
Решение задачи: «Сортировка массива с помощью дерева»
textual
Листинг программы
' генерируем одномерный массив в строку с номером line, длинной в n элементов целого типа (чисел) в диапазоне [20..45] включительно Sub real_gener(line, n As Integer) Sheets(1).Range(Cells(line, 1), Cells(line, n)).FormulaLocal = "=ЦЕЛОЕ(СЛЧИС()*(46-20)+20)" ' для генерации целых чисел в диапазоне [a..b] исп формулу: CСЛЧИС()*(b+1-a)+a End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д