冒泡排序
冒泡排序(Bubble Sort) ,是计算机科学领域的较简单的排序算法。重复地走访要排序的元素,依次比较两个相邻的元素,如果顺序错误就把他们交换过来,直到所有元素有序。
思路:
第一个元素和第二个元素比较,如果大于第二个元素,就交换位置,否则不做操作。这样就可以把一组数中的最大值放到最后面,下一次排序时,就只需要找最大值前面的那几位数中的最大值。依此类推。
Date:2021-04-15
#include"stdio.h"
#define N 10//利用宏定义,方便修改要给多少个数排序
int main()
{
int i, j;
int arr[N] = { 0 };
for (i = 0; i < N; i++)
{
scanf("%d", &arr[i]);//%d后不需要有空格 在输入的时候加空格的话就表示从缓冲区中录入一个数据,循环一次
}
for (i = 0; i < N-1; i++)//十个数据要进行9次大的排序
{
for (j = 0; j < N-i-1; j++)//-1的原因是因为10个数只需要比较9次
//-i的原因是,外层循环每循环一次,就找到一个较大的数
//这样下一次比较就少比较一次
//给自己一个提醒
{
if (arr[j]>arr[j + 1])//功能:是把较大值往后挪一位
{
int tmp;
tmp = arr[j + 1];
arr[j + 1] = arr[j];
arr[j] = tmp;
}
}
}
for (i = 0; i < N; i++)
{
printf("%d ", arr[i]);
}
return 0;
}