Пузырьковая сортировка на Java. Алгоритмы структуры данных

Доброго всем времени суток! Вот написали следующий алгоритм сортировки на Java, называется Пузырьковая сортировка(Bubble Sort).


package algorithm;

public class BubbleSort {
   
public void sort(int[] f) {
   
// в методе в качестве параметра вводим массив
       
boolean swapped = true;
       
// swapped - переменная, которая отвечает за упорядоченность эелемнтов в массиве
       
int temp;
       
// temp - временное хранение, где будут меняться элементы по возрастанию
       
int j = 0;
       
// j - обычная переменная цикла while
       
do {
       
// входим в while цикл
            swapped
= false;
           
// назначаем swapped на false
            j
++;
           
// инкремент
           
for(int i = 0; i < f.length - 1; i++) {
           
// входим в цикл for
               
if(f[i] > f[i + 1]) {
               
// например: если элемент под индексом i=1, т.е. 11, больше элемента
               
// под индексом i=2, т.е. 4, то меняем их местами
               
//
                    temp
= f[i];
                    f
[i] = f[i + 1];
                    f
[i + 1] = temp;
                    swapped
= true;
               
}
           
}
       
} while(swapped);
       
// делаем это условие пока все элементы в массиве не будут соответсвовать условию
       
       
for(int h = 0; h < f.length; h++) {
       
// а здесь просто выводим элементы массива
           
System.out.print(f[h] + " ");
       
}
   
}
   
   
public static void main(String[] args) {
       
int[] f = {8, 11, 4, 0, 5};
       
// создаем массив
       
BubbleSort bs = new BubbleSort();
       
// создаем обьект
        bs
.sort(f);
       
// вызываем функцию и в качестве параметра вводим созданный массив
   
}
}

Выборочная сортировка на Java. Алгоритмы структуры данных

Сегодня проходили по алгоритмам виды сортировки и нужно было их реализовать в коде.

Сидели с ребятами долго почти весь день, и все-таки написали.

Хотел поделиться кодом. Может кому-нибудь он пригодится.


public class SelectionSort {
   
public void sort(int[] x) {
       
// int[] x - массив. ниже при создании обьекта и вызова функции написано
       
for(int i = 0; i < x.length; i++) {
           
// запускаем цикл и ищем наименьшее значение в массиве
           
// x.length - длина массива
           
int kleinste = x[i];
           
// kleinste - наименьший элемент
           
int pozition = i;
           
// pozition - позиция
           
           
for(int j = i; j < x.length; j++) {
               
// запускаем еще цикл
               
if(kleinste > x[j]) {
                   
// здесь присваиваем наименьшее значение в массиве в наименьший индекс массива
                    kleinste
= x[j];
                    x
[j] = x[pozition];
                    x
[pozition] = kleinste;
               
}
           
}
       
}        
       
for(int h = 0; h < x.length; h++) {
           
// а тут просто выводим на экран
           
System.out.print(x[h] + " ");
       
}
   
}
   
   
public static void main(String[] args) {
       
int[] x = {14, 6, 3, 78, 39, 87, 90, 0, 15};
       
// создаем массив со значениями
       
SelectionSort ss = new SelectionSort();
       
// создаем обьект
        ss
.sort(x);
       
// и вызвваем функцию
   
}
}