如何学习数据结构和算法
起泡排序
又名冒泡排序
版本1
``` C
//起泡排序版本1
#include<stdio.h>
#define SIZE 20
void bubble_sort(int a[],int n);
int main()
{
int number[SIZE]={20,51,43,62,21,15,35,61,34,14,65,78,98,75,64,34,54,15,36,31};
int i;
bubble_sort(number,SIZE);
for(i=0;i<SIZE;i++)
{
printf("%.2dn",number[i]);
}
printf("n");
}
void bubble_sort(int a[],int n)
{
int i,j,temp;
for(j=0;j<n-1;j++)
for(i=0;i<n-1-j;i++)
{
if(a[i+1]<a[i])
{
temp=a[i];
a[i]=a[i+1];
a[i+1]=temp;
}
}
}
版本2
//起泡排序版本2
#include<stdio.h>
#define SIZE 20
void bubble_sort(int a[],int n);
int main()
{
int number[SIZE]={20,51,43,62,21,15,35,61,34,14,65,78,98,75,64,34,54,15,36,31};
int i;
bubble_sort(number,SIZE);
for(i=0;i<SIZE;i++)
{
printf("%.2dn",number[i]);
}
printf("n");
}
void bubble_sort(int a[],int n)
{
int i,flag,temp;
do
{
flag=0;
for(i=0;i<n;i++)
if(a[i+1]<a[i])
{
temp=a[i];
a[i]=a[i+1];
a[i+1]=temp;
flag=1;
}
}while(flag);
}
近期评论