Введение
В этом практическом занятии мы научимся писать алгоритм для реализации метода сортировки пузырьком на C++. Сортировка пузырьком - один из самых популярных и простых методов сортировки, при котором мы сравниваем два соседних элемента в массиве и меняем их местами, если они не расположены в правильном порядке.
Объявить необходимые переменные и заголовочные файлы
Мы создадим новый файл с именем main.cpp в директории ~/project с помощью следующей команды:
touch ~/project/main.cpp
Сначала мы объявляем переменные и заголовочные файлы, необходимые для программы. В этом шаге мы подключим заголовочный файл iostream и определим пространство имен std.
#include<iostream>
using namespace std;
Объявить функцию для реализации общего алгоритма сортировки пузырьком
Здесь мы объявляем функцию "bubble_sort" в программе на C++, которая принимает массив для сортировки и размер массива. Функция будет содержать реализацию метода сортировки пузырьком с использованием циклов for, обмена элементов и инструкций if/else.
int bubble_sort(int n,int array[]){
int temp;
for(int i=0;i<n-1;i++){
for(int j=0;j<n-i-1;j--){
if(array[j]>array[j+1]){
temp=array[j];
array[j]=array[j+1];
array[j+1]=temp;
}
}
}
return 0;
}
Объявить функцию для реализации оптимизированного алгоритма сортировки пузырьком
В оптимизированном алгоритме сортировки пузырьком мы будем проверять на каждой итерации, были ли обмены элементов или нет. Если в последней итерации не произошло ни одного обмена, это означает, что массив уже отсортирован. В этом шаге мы реализуем функцию "bubble_sort" для реализации оптимизированного алгоритма сортировки пузырьком. Функция принимает массив для сортировки и размер массива.
int bubble_sort(int n,int array[]){
int temp, flag;
for(int i=0;i<n-1;i++){
flag = 0;
for(int j=0;j<n-i-1;j++){
if(array[j]>array[j+1]){
temp=array[j];
array[j]=array[j+1];
array[j+1]=temp;
flag=1;
}
}
if(flag==0){
break;
}
}
return 0;
}
Определить главную функцию
Здесь мы определим главную функцию, в которой мы объявим массив для сортировки и его размер. В этом шаге мы также вызовем функцию "bubble_sort", чтобы отсортировать массив по возрастанию.
int main(){
int arr[]={5,6,9,2,3};
int n = sizeof(arr)/(sizeof(arr[0]));
bubble_sort(n,arr);
cout<<"Elements after sorting of the array:- "<<endl;
for(int i=0;i<n;i++){
cout<<arr[i]<<" ";
}
return 0;
}
Компилировать и запустить код
В этом шаге мы скомпилируем и запустим код в терминале системы Ubuntu. Чтобы скомпилировать код, введите следующую команду:
g++ ~/project/main.cpp -o main
Чтобы запустить код, введите следующую команду:
./main
Резюме
В этом практическом занятии мы успешно научились реализовывать сортировку пузырьком с использованием динамического массива на C++. Мы также узнали о оптимизированном методе сортировки пузырьком, который эффективно работает для некоторых выбранных, но эффективных массивов. Следуя вышеприведенному туториалу, вы можете реализовать метод сортировки пузырьком для сортировки массива по возрастанию или убыванию с использованием динамического массива на C++.



