冒泡排序
冒泡排序原理图

相关代码讲解
#include <stdio.h>
int main(int argc, char const *argv[])
{
int a[] = {1, -1, 2, -2, 3, -3, 4, -4, 5, -5};
int n = sizeof(a)/sizeof(a[0]);
int i = 0;
int j = 0;
int tmp;
printf("排序前:");
for (int i = 0; i < n; ++i)
{
printf("%d\n", a[i]);
}
printf("\n");
//冒泡排序
for(i = 0; i < n-1; i++)
{
for(j = 0; j<n-1-i; j++)
{
if(a[j] > a[j+1])//相邻2个元素比较,大于交换
{
tmp = a[j];
a[j] = a[j+1];
a[j+1] = tmp;
}
}
}
printf("排序后:");
for (int i = 0; i < n; ++i)
{
printf("%d\n", a[i]);
}
printf("\n");
return 0;
}
本文详细介绍了冒泡排序算法的原理,并通过C语言代码实现了一个具体的例子。展示了如何通过比较和交换相邻元素来对数组进行排序,是理解基本排序算法的良好起点。
39万+

被折叠的 条评论
为什么被折叠?



