Skip to content
On this page

冒泡排序


标签:算法/📊排序算法  

Bubble Sort

算法简述 : 遍历比较两个相邻的数字, 按照大小交换

冒泡排序法

c
#include <stdio.h>

int main() {
	int arr[10] = {2,4,6,8,1,3,5,7,9,0};
	int len = sizeof(arr)/sizeof(arr[0]);
	// bubble sort
	for (int i = 1; i < len; i++) {
    // int flag = 0;
		for (int j = 0; j < len - i; j++) {
			if (arr[j] > arr[j+1]) {
				int temp = arr[j];
        arr[j] = arr[j+1];
        arr[j+1] = temp;
        // flag = 1;
			}
		}
    // if (0 == flag) break;
	}
	for (int i = 0; i < len; i++) {
		printf("%d ", arr[i]);
	}
	printf("\n");
	return 0;
}
  • 上面注释掉的 flag 是可选的冒泡排序的改进,当某次遍历不存在交换的数据的时候,说明数组已经是有序的了,所以可以直接中断后一轮的遍历

Last updated: