冒泡排序的基本思想
冒泡排序也称气泡排序,是一种典型的交换排序方法,其基本思想是通过无序区中相邻元素关键字间的比较和位置的交换使关键字最小的元素如气泡一般逐渐往上“漂浮”,直至“水面”
#include<stdio.h>
void BubbleSort(int R[],int length) {
int temp = 0;
int flag;
for(int i = 0;i<length-1;i++) {//趟数
if(flag == 0) {//如果没有发生交换,中途结束算法
return;
}
flag = 0;//每一趟之前flag置为假
for(int j = length-1;j>i;j--) {
if(R[j]<R[j-1]) {
temp = R[j];
R[j] = R[j-1];
R[j-1] = temp;
flag = 1;//一旦有交换,flag置为真
}
}
}
}
void main() {
int array[10] = {9,8,7,6,5,4,3,2,1,0};
BubbleSort(array,10);
for(int i = 0;i<10;i++) {
printf("%d",array[i]);
}
}
如果想详细了解算法,请到传送门:https://blog.csdn.net/qq_43290288/article/details/108126617