顺序比较法
首先用第一个元素分别与其他元素比较,在比较的过程中,如果第一个元素比其他元素值大,则将两数交换,第一轮交换后,第一个就是该数组最小的元素
#include<stdio.h>
int main()
{
int a[N],i,j,t;
for(i=0; i<N-1; i++)
for(j=i+1; j<N; j++)
if(a[i]<a[j])
{
t=a[i];
a[i]=a[j];
a[j]=t;
}
}
选择排序法
#include<stdio.h>
int main()
{
int a[N],i,j,p,t;
for(i=0; i<N-1; i++)
{ p=i;
for(j=i+1; j<N; j++)
if(a[p]>a[j]) p=j;
if(p!=i)
{
t=a[p];
a[p]=a[i];
a[i]=t;
}
}
}
冒泡排序
如果有n个数,则要进行n-1趟比较,在第一趟比较中药进行n-1次相邻元素的两两比较,在第j趟比较中,要进行n-j次两两比较,比较的顺序从前往后,经过一趟比较后将最值沉底(换到最后一个元素)最大值沉底为升序
未完待续