大家好,我是贤弟!
一、什么是冒泡排序?
冒泡排序(Bubble Sort)是一种简单的排序算法,其基本思路是将待排序序列中相邻元素进行比较,若顺序不符合要求,则交换两个元素的位置。
通过不断重复该过程,直至序列中所有元素都符合要求为止。
二、冒泡排序的原理
具体实现过程如下:
从序列的第一个元素开始,对相邻的两个元素进行比较。
如果前一个元素大于后一个元素,则交换两个元素的位置。
对整个序列重复以上两个步骤,直到整个序列中的元素都符合要求。
在实际操作中,可以设置一个标志位来记录当前趟是否进行了交换操作,若没有进行任何交换,则说明序列已经有序,可以直接终止排序过程。
三、代码示例
用C语言实现冒泡排序的代码如下:
#include
void bubble_sort(int a[], int len) { int i, j, temp; int flag = 1; // 设置标志位
for (i = 0; i < len - 1 && flag == 1; i++) { // 外层循环控制排序趟数 flag = 0; for (j = 0; j < len - i - 1; j++) { // 内层循环控制每趟排序多少次 if (a[j] > a[j + 1]) { // 比较相邻元素 // 交换相邻元素的位置 temp = a[j]; a[j] = a[j + 1]; a[j + 1] = temp; flag = 1; } } }}
int main() { int arr[] = {5, 3, 8, 4, 2}; int len = sizeof(arr) / sizeof(int); int i;
printf("排序前:"); for (i = 0; i < len; i++) { printf("%d ", arr[i]); } printf("\n");
bubble_sort(arr, len);
printf("排序后:"); for (i = 0; i < len; i++) { printf("%d ", arr[i]); } printf("\n");
return 0;}
领取专属 10元无门槛券
私享最新 技术干货