冒泡排序 | Bubble sort
设数组长度为len,设数组的下标为i,从下标0开始遍历依次比较数组中第i个与第i+1元素的大小,如果第i+1个元素大于第i个交换这两个元素,一共进行len-1次遍历比较,完成排序
#include <iostream>
using namespace std;
void print_array(int* arr, int size) {
//打印数组
cout << "array1={ ";
for (int i = 0; i < size; ++i) {
cout << arr[i] << " ";
}
cout << "}" << endl;
}
void swap(int &a, int &b) {
//交换两个变量
int temp = b;
b = a;
a = temp;
}
void bubble_sort(int* arr, int size) {
//冒泡排序
for (int i = 0; i < size - 1; i++) {
for (int j = 0; j < size - i - 1; j++) {
if (arr[j] > arr[j + 1]) {
swap(arr[j], arr[j + 1]);
}
}
}
}
int main() {
//数组基本信息
int array1[] = { 2,1,5,3,6,8,1,4};
int sizeArray = sizeof(array1) / sizeof(array1[0]);
//排序前的数组
print_array(array1, sizeArray);
//排序
bubble_sort(array1,sizeArray);
//排序后的数组
print_array(array1, sizeArray);
return 0;
}