#include<stdio.h>
#include<stdlib.h>#include<time.h>
/*
冒泡排序
*/
void bubbleSort(int a[], int n)
{
int tmp = 0;
for (int i = 0; i < n-1; i++)
{
for (int j = 0; j < n - 1 - i; j++)
{
if (a[j] > a[j + 1])
{
tmp = a[j];
a[j] = a[j + 1];
a[j + 1] = tmp;
}
}
}
}
/*
打印数据
*/
void printA(int a[], int n)
{
int i = 0;
for (; i < n; i++)
{
printf("%3d", a[i]);
}
printf("\n");
}
int main()
{
int a[NUM];
srand(time(0)); //初始化随机种子
for (int i = 0; i < NUM; i++)
{
a[i] = rand() % 99 + 1; //产生NUM个1~100(不包括100)的随机数据
}
printf("原始数据:\n");
printA(a, NUM);
bubbleSort(a, NUM);
printf("排序后数据:\n");
printA(a, NUM);
system("pause");
return 0;
}
排序结果:
本文提供了一个使用C语言实现的冒泡排序示例程序。该程序首先生成一组随机数,然后运用冒泡排序算法进行排序,并输出排序前后的数组。通过这个例子,读者可以更好地理解冒泡排序的工作原理。
3029

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



