Навигация
Главная
Поиск
Форум
FAQ's
Ссылки
Карта сайта
Чат программистов

Статьи
-Delphi
-C/C++
-Turbo Pascal
-Assembler
-Java/JS
-PHP
-Perl
-DHTML
-Prolog
-GPSS
-Сайтостроительство
-CMS: PHP Fusion
-Инвестирование

Файлы
-Для программистов
-Компонеты для Delphi
-Исходники на Delphi
-Исходники на C/C++
-Книги по Delphi
-Книги по С/С++
-Книги по JAVA/JS
-Книги по Basic/VB/.NET
-Книги по PHP/MySQL
-Книги по Assembler
-PHP Fusion MOD'ы
-by Kest
Professional Download System
Реклама
Услуги

Автоматическое добавление статей на сайты на Wordpress, Joomla, DLE
• Заказать продвижение сайта
• Программа для рисования блок-схем
• Инженерный калькулятор онлайн
• Таблица сложения онлайн
Популярные статьи
OpenGL и Delphi... 65535
Форум на вашем ... 65535
HACK F.A.Q 65535
Гостевая книга ... 65535
Содержание сайт... 65535
Вызов хранимых ... 65535
Эмулятор микроп... 65535
Бип из системно... 58100
Invision Power ... 57355
Организация зап... 57162
Модуль Forms 56358
Создание отчето... 54780
Приложение «Про... 54171
Подключение Mic... 53961
Оператор выбора... 53775
ТЕХНОЛОГИИ ДОСТ... 50642
Программируемая... 47076
Пример работы с... 46404
Имитационное мо... 46396
21 ошибка прогр... 41482
Реклама
Вакансии и работа бассейн в домодедово invivo-med.ru. .
Свежая информация лактомин 80 на нашем сайте.
Сейчас на сайте
Гостей: 10
На сайте нет зарегистрированных пользователей

Пользователей: 13,006
новичок: margaritamoroz
Новости
Реклама
Выполняем курсовые и лабораторные по разным языкам программирования
Подробнее - курсовые и лабораторные на заказ
Delphi, Turbo Pascal, Assembler, C, C++, C#, Visual Basic, Java, GPSS, Prolog, 3D MAX, Компас 3D
Заказать программу для Windows Mobile, Symbian

Информационная система - транспортный парк на Turbo Pascal (База данных)...
Моделирование информационно-поисковой библиографической системы на gpss ...
Моделирование работы крупного аэропорта на GPSS + Пояснительная записка

Реклама

Сортировка Шелла + код на Basic
Этот алгоритм усовершенствование прямых методов сортировки, являющийся сортировкой простыми вставками с убывающим шагом.
Эта сортировка основана на следующих положениях:
1. Сортировка простыми вставками очень эффективна для массивов, которые почти упорядочены.
2. Для малого числа элементов сортировка прямым методом с трудоемкостью порядка O(n2) часто более эффективна чем сортировка улучшенным методом из – за простоты реализации и отсутствия дополнительных действий, кроме сравнения и перестановок.
В методе Шелла сортировка простыми вставками применяется сначала к отдельным подмассивам(спискам) с малым числом элементов, что позволяет частично упорядочить весь массив. Затем сортировка с простыми вставками применяется к спискам с постепенно увеличивающимся количеством элементов.
Исходный массив:
а1…аn.
Введем h1 – шаг сортировки.
На 1ом этапе сортируется h1 списков с малым числом элементов. h1=4

1) а1,а5,a9 …
2) а2,а6,a10 …
3) а5,а7,а11…
4) а4,а8,а12…
На следующем этапе шаг сортировки уменьшается (выбирается h2 меньше h1) и процесс повторяется . Это выполняется для последовательности шагов h1…hk до того, как последний шаг k=1.
Пример. Пусть задан массив 25,57,48,37,12,92,86,33.
1) Сортируются 4 подмножества с помощью метода простых вставок (h1=4)
Сортировка Шелла
Получим:

2) h2=2;

Получим:

В общем случае значение шагов сортировки может быть произвольным( должно выполняться h1>h2>…>hn). Причем последний должен быть = 1.
При программировании значения этих шагов должны храниться в массиве. Чтобы не использовать массив, часто значения шагов задают следующим образом:
h1=[n/2]
h1=[h1/2]



Для удобства воспользуемся средствами basic
for i=1 to n
s=a(i)
for j=i-1 to 1 step -1
if s>=a(j) then goto 10
a(j+1)=a(j)
next j
10: a(j+1) = s
next i




Пусть k-номер сортируемого подсписка.
h-шаг сортировки.
Тогда
h=int(n/2)
While h>=1
For k=1 to h
for i=k+h to n step h
s=a(i)
for j=i-h to 1 step -h
if s>=a(j) then goto 10
a(j+h) = a(j)
next j
10: a(j+h)=s
next i
next k
h=int(h/2)
wend;
















Опубликовал Kest January 23 2010 23:07:48 · 0 Комментариев · 8162 Прочтений · Для печати

• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •


Комментарии
Нет комментариев.
Добавить комментарий
Имя:



smiley smiley smiley smiley smiley smiley smiley smiley smiley
Запретить смайлики в комментариях

Введите проверочный код:* =
Рейтинги
Рейтинг доступен только для пользователей.

Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.

Нет данных для оценки.
Гость
Имя

Пароль



Вы не зарегистрированны?
Нажмите здесь для регистрации.

Забыли пароль?
Запросите новый здесь.
Поделиться ссылкой
• Фолловь меня в Твиттере!
Загрузки
Новые загрузки
iChat v.7.0 Final...
iComm v.6.1 - выв...
Visual Studio 200...
CodeGear RAD Stud...
Шаблон для новост...

Случайные загрузки
Шифрование по алг...
Autorunner
Интерактивный инт...
DAlarm
Дешифратор содерж...
PBFoldder
CoolHints2k
Error mod
PDJ_Anima
Indy in Depth Глу...
Клавиатурный трен...
Prolog Interprete...
Учебник для продв...
WAV 1.7.1" class="side">Converter AMR<->W...
Text effect
SysInfo [Исходник...
Современное проек...
FilesInfo
Архив программ
JanButtonsV

Топ загрузок
Приложение Клие... 100265
Delphi 7 Enterp... 74760
WAV 1.7.1" class="side">Converter AMR<-... 20015
Borland C++Buil... 10459
GPSS World Stud... 8750
Borland Delphi ... 7442
Turbo Pascal fo... 6866
Visual Studio 2... 4864
Калькулятор [Ис... 3828
FreeSMS v1.3.1 3481
Случайные статьи
Компонент изображение
Процедура PieSlice...
Создание триггера
Координаты, окна, ...
Файлы в папке Wind...
скриптов в нетради...
Есть несколько ста...
Оптимизация КАМ-вы...
Файловая система s...
всеми дочерними ОП
Порты исключительн...
МНОГОСТОЛБЧАТЫЕ АТ...
Взаимодействие ада...
Назначенное лицо б...
Персептроны
Продолжение
ВИРУСЫ: общие свед...
Метод быстрой сорт...
Оператор switch дл...
Что позволяет doma...
НЕ ВСЕГДА БАЗА ДАН...
Управление виртуал...
• Убедитесь, что е...
Error in type
Каковы правила пои...
Статистика



Друзья сайта
Программы, игры


Полезно
В какую объединенную сеть входит классовая сеть? Суммирование маршрутов Занимают ли таблицы память маршрутизатора?