顺序比较法

首先用第一个元素分别与其他元素比较,在比较的过程中,如果第一个元素比其他元素值大,则将两数交换,第一轮交换后,第一个就是该数组最小的元素

#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次两两比较,比较的顺序从前往后,经过一趟比较后将最值沉底(换到最后一个元素)最大值沉底为升序

未完待续

最后修改:2019 年 07 月 09 日
如果觉得我的文章对你有用,请随意赞赏