冒泡排序:
比较相邻的两个元素,把元素中较大的值往后移。
#include <stdio.h>
int main()
{
int i,n,tmp;
int a[10];
for(i = 0;i < 10;i++)
{
//从键盘获取10个数,存入数组
scanf("%d",&a[i]);
}
for(n = 0;n < 9;n++)
{
//第一次循环,可以得出这个数组的最大值,且它的位置已经被交换到末尾了
//因此,第二次循环时,可以不用再去比较最大值了,只要和剩下的其他数作比较,以此类推
for(i = 0;i < 9 - n;i++)
{
//如果这个数比它后面的数大,就交它们的位置
if(a[i] > a[i + 1])
{
tmp = a[i];
a[i] = a[i+1];
a[i+1] = tmp;
}
}
}
for(i = 0;i < 10;i++)
{
//打印已经排好序的数组
printf("%d ",a[i]);
}
putchar('\n');//换行符
return 0;
}
相关文档:
选择排序:https://blog.csdn.net/weixin_45800785/article/details/109478010
快速排序(递归):https://blog.csdn.net/weixin_45800785/article/details/109484458