Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Сортировка методом прямого выбора

Лабораторная работа № 2 | Лабораторная работа№ 3 | Лабораторная работа№ 4 | Лабораторная работа № 7 | Функции обработки строк типа AnsiString | Лаборатоная работа № 8 | Теоретические сведения | Сведения о гражданине ind1 | Лабораторная работа № 9 | Лабораторная работа № 10 |


Читайте также:
  1. АНАЛИЗ АНАЛИТИЧЕСКИМ МЕТОДОМ
  2. АНАЛИЗ ГРАФИЧЕСКИМ МЕТОДОМ
  3. Анализ переходных процессов в цепях первого порядка классическим методом
  4. Вопрос 2 Проблема выбора пути развития и его основные модели
  5. Временно остановить наружное кровотечение методом максимального сгибания и отведения конечностей.
  6. Группа 28 Устройство щебеночного основания толщиной слоя 15 см, обработанного не на полную глубину пескоцементной смесью методом перемешивания
  7. Для взрослых Правила выбора темы исследования

Алгоритм сортировки массива по возрастанию методом прямого выбора может быть представлен так:

1. Просматривая массив от первого элемента, найти минимальный элемент и поместить его на место первого элемента, а первый — на место минимального.

2. Просматривая массив от второго элемента, найти минимальный элемент и поместить его на место второго элемента, а второй — на место минимального.

3. И так далее до предпоследнего элемента.

Сортировка методом обмена

В основе алгоритма лежит обмен соседних элементов массива. Каждый элемент массива, начиная с первого, сравнивается со следующим, и если он больше следующего, то элементы меняются местами. Таким образом, элементы с меньшим значением продвигаются к началу массива (всплывают), а элементы с большим значением — к концу массива (тонут). Поэтому данный метод сортировки обменом иногда называют методом "пузырька". Этот процесс повторяется столько раз, сколько элементов в массиве, минус единица.

Следует отметить, что максимальное необходимое количество циклов проверки соседних элементов массива равно количеству элементов массива минус один.

 

Пример: 3.1. Отсортировать целочисленный массив по возрастанию и убыванию методом сортировка выбором.

Формы:

 

Отрывок текста программы:

...

int a[n]; // объявление массива

int min; // номер наименьшего элемента

int j; // номер элемента массива, сравниваемого с наименьшим

int buf; // буфер, используемый для обмена элементами массива

Int i,k;

...

for (i=0; i< n; i++)

a[i]=StrToInt(StringGrid1->Cells[i-1,0]); // ввод элементов массива

Label2->Caption="";

for (i=0; i< n; i++)

{ min=i; // определение наименьшего элемента среди a[0] … a[n]

for (j=i; j< n; j++)

if (a[j]<a[min]) min=j;

// поменять местами элементы a[i] и a[min] используя буфер обмена

buf=a[i];

a[i]=a[min]; a[min]=buf;

// отсортированный массив

for (k=0; k< n; k++)

Label2->Caption=Label2->Caption+' '+IntToStr(a[k]);

Label2->Caption=Label2->Caption+"\n"; }

Label2->Caption=Label2->Caption+"\n"+"массив отсортирован";}


Дата добавления: 2015-11-04; просмотров: 63 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Int j1,j2,j3,j4;| Лаборатоная работа № 6

mybiblioteka.su - 2015-2024 год. (0.006 сек.)