冒泡排序
时间复杂度:O(n^2)
稳定性:冒泡排序是一种稳定的排序方法
/*
***作者:Bruce Yuu
***用途:工具函数,用于两个数之间交换
***参数:两个整型指针
***返回值:无
***日期:2021/3/16
*/
void swap(int* x, int* y) {
int temp = *x;
*x = *y;
*y = temp;
}
/*
***作者:Bruce Yuu
***用途:冒泡排序
***参数:待排序的数组,数组长度
***返回值:无
***日期:2021/3/16
*/
void Bubble_Sort(int Arr[], int Len) {
int Count1 = 0, Count2 = 0;
int flag = 1;//交换标记,如果一趟排序过程没有发生交换则退出排序
for (Count1 = 0; Count1 < Len - 1; Count1++) {
flag = 1;
for (Count2 = 0; Count2 < Len - Count1 - 1; Count2++) {
if (Arr[Count2] > Arr[Count2 + 1]) {
swap(&Arr[Count2], &Arr[Count2 + 1]);
flag = 0;
}
}
if (flag == 1) {
break;
}
}
}