一、冒泡排序
最小比较次数:n-1 次;
最大比较次数:n(n-1)/2;
//冒泡排序;C语言;主要程序
void bubble_sort(a[],n)
{
int i,j,temp;
bool flag=true;
for(i=0;i<n-1;i++)
{
for (j=0;j<n-1-i;j++)
{
if(a[j]>a[j+1])
{
flag=false;
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
if (flag) break;
}
}
二、简单选择排序
最少比较次数:n-1次;
最多比较次数:n(n-1)/2次;
//简单选择排序;C语言代码;
void select_sort(int a[],int n)
{
register int i,j,min,temp;
for(i=0;i<n-1;i++)
{
min=i;
for(j=i+1;j<n;j++)
{
if(a[j]<a[min])
{
min=j;
}
}
if(min!=i)
{
temp=a[min];
a[min]=a[i];
a[i]=temp;
}
}
}
参考:
http://www.cnblogs.com/chengxiao/p/6103002.html