二维数组排序算法的运用

1.冒泡排序

其原理为从buf[0]开始,依次将其和后面的元素比较,若buf[0]>buf[i],则交换它们,一直比较到buf[n]。同理对buf[1],buf[2],...buf[n-1]处理,即完成排序。如图所示:

#include

void maopao(int buf[10],int ilen)
{
//升序:从小到大
        int i,j;
        int temp;
        for(i=0:i

冒泡法原理简单,但其缺点是交换次数多,效率低。 

2.选择排序:

选择法循环过程与冒泡法一致,它还定义了记号listen=i,然后依次把buf[k]同后面元素比较,若buf[k]>buf[j],则使listen=j.最后看看listen=i是否还成立,不成立则交换buf[listen],buf[i],这样就比冒泡法省下许多无用的交换,提高了效率。

#include

void xz(int buf[],int ilen)
{
    int i=0,j=0,temp,listen;
    for(i=0;ibuf[j])
            {
                listen=j;
            }
        }
        if(listen!=i)
        {
            temp=buf[i];
            buf[i]=buf[listen];
            buf[listen]=temp;
        }
    }
    for(i=0;i

3.插入排序:

插入法是一种比较直观的排序方法。它首先把数组头两个元素排好序,再依次把后面的元素插入适当的位置。把数组元素插完也就完成了排序。

#include

void cr(int buf[],int ilen)
{
    int i,j,temp;
    for(i=0;i0&&temp

 

你可能感兴趣的:(二维数组排序算法的运用)