Четверг, 28.11.2024, 22:04
Приветствую Вас, Гость |
Меню сайта
Наш опрос
Нужен ли форум на этом сайте?
Всего ответов: 1313
Статистика

Онлайн всего: 3
Гостей: 3
Пользователей: 0

Сортировка пузырьком

    Самой простой сортировкой является сортировка пузырьком. Название метода отражает суть его алгоритма:
меньшие элементы как бы "всплывают" на поверхность, т.е в начало массива.
Итак если мы возьмём код:
  for i:=1 to n-1 do
    if a[i]>[i+1] then
    begin
       c:=a[i];
       a[i]:=a[i+1];
       a[i+1]:=c;
    end;

    В нём довольно просто разобраться, этот код является основой метода сортировки  пузырьком. Циклом for мы проходим массив от
начала и до конца сравнивая его соседние элементы и если элемент стоящий слева больше того что справа, то меняем их
местами. После того как мы пройдем весь массив самый большой элемент будет стоять на последнем месте в массиве. Но нам
требует отсортировать весь массив, для этого мы данный код должны выполнить n раз, где n - количество элементов в
массиве. В этом и есть весь метод сортировки пузырьком. Ниже приведён пример сортировки пузырьком массива по
возрастанию.

Пример реализации сортировки пузырьком на паскале:

   program sort;
   const N = 10;
   var A: array[1..N] of integer;
   i, j, c: integer;
   begin

  { здесь заполняем массив }
  { выводим исходный массив }
  for i:=1 to N-1 do
  begin
      for j:=1 to N-1 do
         if A[j] > A[j+1] then
         begin
             с := A[j];
             A[j] := A[j+1];
             A[j+1] := с;
         end;
   end;

  { выводим полученный массив }
   end.

Эффективность сортировки пузырьком

В худшем случае (когда элементы исходного массива расположены в порядке убывания) эффективность сортировки:
   C(n) =n*(n–1)/2= O(n^2),

   M(n) = n*(n–1)/2= O(n^2).
Форма входа
Поиск
Мы в сети
Реклама
Для того чтобы не видеть рекламу в правом верхнем углу сайта пройдите простую процедуру регистрации
ФОРУМ
У нас наконецто появился форум! Добро пожаловать! Будьте первыми, задайте направление форуму! =)
--- Не стесняемся - заходим на форум! ---