(一)冒泡排序(升序)
对n个整数进行排序。
算法思想:
(1)从下标为0的元素开始,对两两相邻的元素进行比较,如果前一个元素大于后一个元素,则交换这两个元素的值,在n-1次比较后,这组整数中最大的元素就被移动到最后(下标为n-1);
(2)对下标为0到下标为n-2的n-1个元素重复(1)中的比较和交换过程,最终第二大的元素被移动到下标为n-2的单元;
(3)对剩下的n-2个数重复上面的比较和交换操作,在n-1轮操作后,n个整数升序排序完成。
示例代码:
#include <stdio.h>
void BubbleSort(int a[],int n);
void main()
{
int x[]={5,7,0,8,1,4,9};
BuubleSort(x,7);
return ;
}
void BubbleSort(int a[],int n)
{
int i,j,k,t;
for(i-0;i<n-1;i++)
{
for(j=0;j<n-1-i;j++)
if(a[j]>a[j+1])
{
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
for(k=0;k<n;k++)
printf("%d",a[k]);
printf("\n");
}
}