Заполнения массива случаными неповторяющимися значениямиDelphi , Синтаксис , МассивыЗаполнения массива случаными неповторяющимися значениямиАвтор: Дедок Василий Огромное Вам спасибо за сбор и систематизацию советов по Delphi. Предлагаю Вам интересное решение заполнения массива случаными неповторяющимися значениями. Думаю этот алгоритм небесполезен.
Here's the translation of the text into Russian: Это умелый способ заполнить массив случайными, не повторяющимися значениями. Вот разбивка кода: Декларация типа
Объявляет одномерный массив Процедура
Декларация переменных
Объявляет три переменные:
Инициализация и основной логик
Процедура выполняет два основных задачи:
1. Случайное значение: вызывает Заполнение массива Процедура затем циклится снова, чтобы заполнить массив случайными значениями:
Вот альтернативное решение с более эффективным подходом: Использование множества
Вместо генерации и хранения случайных индексов можно использовать тип
В этом реализации используется Обе решения эффективны и подходят для небольших массивов, но второе решение может быть более масштабируемым для больших массивов или при ограничении памяти. В статье предложено оригинальное решение для заполнения массива случайными неповторяющимися значениями в языке Delphi, использующее функцию Random и строковый метод Insert для генерации уникальных символов. Комментарии и вопросы:: 2009-02-18 20:12:13 :: re:Заполнения массива случаными неповторяющимися значениямипользователь: maximus825. Очень хороший алгоритм. Правда я его немного переделал с своей работе но это лучшее что когда либо видел по заполнению массивов. :: 2010-07-05 19:28:47 :: re:Заполнения массива случаными неповторяющимися значениямипользователь: Антон. Пример хороший. Но есть один минус - в конце массива всегда 1. Я исправил так: Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
|
|||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |