1.冒泡排序
基本思想
在要排序的一组数中,对当前还未排好序的范围内的全部数,自上而下对相邻的两个数依次进行比较和调整,让较大的数往下沉,较小的往上冒。即:每当两相邻的数比较后发现它们的排序与排序要求相反时,就将它们互换。每一趟排序后的效果都是讲没有沉下去的元素给沉下去。
主要思路:
1.比较相邻的元素。如果第一个比第二个大,就交换它们两个。
2.对每一个相邻元素做同样的工作,从开始第一对到结尾的每一对。在这一 点,最后的元素应该会是最大的数。
3.针对多有的元素重复以上的步骤,除了最后一个。
持续每次对越来越少的元素重复上面的步骤,知道没有任何一对数字需要比较。
demo
#include <stdio.h>
//冒泡排序
void BubbleSort(int arry[],int len)
{
int i;
int j;
int temp;
for(i=0;i<len-1;i++)//比较次数
{
for(j=0;j<len-1-i;j++)//比较过程
{
if(arry[j]>arry[j+1]) //比较大小
{
temp=arry[j];
arry[j]=arry[j+1];
arry[j+1]=temp;
}
}
}
}
//输出
void print(int arry[],int len)
{
int i;
for(i=0;i<len;i++)
{
printf("%d ",arry[i]);
}
}
int main()