冒泡排序是升序排序的形象说法。
升序排序:若一组数据存储在某一数组中,完成升序排序后,小下标处存放小值,大下标处存放大数。
算法描述:将一组数据中相邻两元素两两比较,若小下标处存放了大数则进行数据交换,若从待排序元素起始处到结束处元素比较完毕,则数列中的最大值将被排列到数列的最尾端,这样的一次操作叫做一次冒泡。
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define LEN 5
void init(int num[], int len)
{
int i;
srand(time));
for (i = 0; i < len; i++)
printf("%d ",num[i] = rand() % 100);
printf("\n");
}
void bullue(int num[], int len)
{
int i, j, tmp;
for (i = 0; i < len - 1; i++) {
for (j = 0; j < len - i - 1; j++) {
if (num[j] > num[j + 1]) {
tmp = num[j];
num[j] = num[j + 1];
num[j + 1] = tmp;
}
}
}
}
int main(void)
{
int i, num[LEN];
init(num, LEN);
for (i = 0; i < LEN; i++)
printf("%d ",num[i]);
printf("\n");
return 0;
}