Cтраница 3
Чтобы выполнить разбиение, программа 10.2 использует вспомогательный массив, размер которого равен размеру файла, подлежащего сортировке. Мы должны уделить большое внимание использованию пространства памяти, поскольку рекурсивные обращения могут привести к чрезмерному расходу памяти для локальных переменных. В программе 10.2 временный буфер для размещения ключей ( aux) может быть глобальным, но массив, в котором хранятся число и местоположение позиций точек разделения ( count) должны быть локальными. [31]
Первый вариант требует больше памяти ( для вспомогательного массива), а второй - больших затрат времени на многократное перемещение элементов массива. [32]
Можно предложить другое решение, использующее лишь один вспомогательный массив С [ 1: п В этом случае массив А просматривается по строкам. [33]
Преобразовать массив х по следующему правилу ( воспользовавшись вспомогательным массивом): все отрицательные элементы массива х перенести в его начало, а все остальные - в конец, сохраняя исходное взаимное расположение как среди отрицательных, так и среди остальных элементов. [34]
Чтобы слить два возрастающих файла, они копируются во вспомогательный массив, при этом второй файл в обратном порядке непосредственно следует за первым. Далее мы следуем простому правилу: перемещаем на выход левый или правый элемент в зависимости от того, какой из них меньше. Наибольший ключ служит служебной меткой для другого файла, независимо от того, в каком файле этот ключ находится. [35]
Сущность метода модифицированных полиномов заключается в определении граничных индексов вспомогательного массива для аргумента и функции с последующим непосредственным вычислением значений функции прямой подстановкой элементов узлов вспомогательного массива в интерполяционный полином. [36]
Затем проводится первый просмотр исходного подмассива и подсчет во вспомогательном массиве числа элементов, имеющих определенное значение выделенной группы разрядов признака. Результат подсчета накапливается в ячейках C [ j ] массива С, адрес которых определяется вычислением индекса / по значению выделенной группы разрядов признака. [37]
С помощью процедуры расширения исходный массив А дополняется записями из вспомогательного массива А1 по заданному условию. Например, исходный массив записей дополняется записями с новыми шифрами. Структура записей должна быть одинакова. Записи из массива А размещаются в соответствии с заданным шифром и не нарушают функцию упорядоченности исходного массива. Результатный массив В после исчерпания всех записей в массиве А имеет суммарное количество записей массивов А и А. После завершения обработки оба массива сохраняются. Организация массива В может быть выполнена с меньшими затратами, если массив А будет упорядочен в соответствии с функцией упорядоченности массива А. [38]
В случае выхода частицы из исследуемой области происходит выборка из вспомогательного массива значений г, я), h от предыдущего столкновения. Если вспомогательный массив не содержит информации, то вновь определяются начальная скорость и координаты пробной частицы и проводится построение нового дерева возмущения. [39]
Поиск наиболее рациональных вариантов обработки данных объясняет необходимость выбора определенного вида вспомогательного массива из множества возможных, которые могут быть получены из постоянных массивов комбинацией показателей. [40]
Для автоматизации расчета оборотов по счетам, субсчетам для всех периодов учета используется вспомогательный массив, создаваемый в столбце справа от области сальдо и оборотов. Высота блока вспомогательного массива чисел соответствует числу счетиь, суисчетов. [41]
В качестве следующего усовершенствования целесообразно рассмотреть возможность сведения к нулю времени копирования данных во вспомогательный массив, используемый процедурой слияния. Поступая таким образом, следует так организовать рекурсивные вызовы, что процесс вычисления сам меняет в нужный момент роли входного и вспомогательного массивов на каждом уровне. Один из способов реализации такого подхода заключается в создании двух вариантов программ - одного для приема входных данных в файл а и пересылки выходных данных в файл aux, а другого для приема входных данных в файл aux и пересылки выходных данных в файл а, после чего обе версии поочердно вызывают одна другую. Другой подход продемонстрирован в программе 8.4, которая вначале создает копию входного массива, а затем использует программу 8.1 и переключает аргументы в рекурсивных вызовах с целью отказа от явно заданной процедуры копирования массива. Вместо нее путем поочередных переключений результат слияний помещается то во вспомогательный, то во входной файл. [42]
Для использования подпрограммы в основной программе описывается массив исходной матрицы под именем С6 и вспомогательный массив В6 той же размерности. Вводится размерность массивов N6, уменьшенная на единицу, и организуется ввод исходной матрицы Сб. Результат обращения матрицы С6 присваивается элементам той же матрицы С6, поэтому в основной программе необходимо предусмотреть вывод элементов обращенной матрицы С6 на печать. [43]
Для выполнения разделения оператор требует резерва памяти, равного сумме объемов исходного подмассива и вспомогательного массива С. [44]
Ниже подробно рассматривается один из разработанных модифицированных методов е использоианием для интерполяции в пределах вспомогательного массива метода Лагранжа. [45]