数据结构——排序

           排序是程序设计中的一种重要运算,它的功能是将一个数据元素的无序列调整为一个有序序列

                          按由大到小的顺序称为降序!

                          按由小到大的顺序称为升序! 

  计算机处理的25%的机时用于排序的。 这里的计算机指的是服务器,大型计算机。


冒泡排序:


#include <stdio.h>

#define LISTSIZE 100

typedefint Datatype;

void Bubblesort1(Datatype arr[],int _nSize);

int main(int argc,const char * argv[])

{

    

    

      return 0;

}

void Bubblesort1(Datatype arr[],int _nSize)

{

    

    

   for (int i=0; i<_nSize; i++)//外层循环用于指定排序的范围。

    {       int bFlag=0;//0时,指定范围的数据已经排好序,为1时指定范围没有排好序。

        

        for (int j=_nSize-1; j>i; j--)//内层循环按要求进行排序,在外层指定范围内找到最小的数。将它放在最上面。

        {

           if (arr[j]<arr[j-1])

            {

               int temp=arr[j];

                arr[j]=arr[j-1];

                arr[j-1]=temp;

                bFlag=1;

            }

         

            

        }

        

        if (!bFlag)//本趟排序没有发生排序,则提前终止算法。

        {

           break;

        }

    }

}






直接选择排序

#include <stdio.h>

#define LISTSIZE 100

typedef int  Datatype;

int main(int argc, const char * argv[])

{

//直接选择排序。

    


    return 0;

}

void SelectSort(Datatype arr[],int cnt)

{

    for (int i=0; i<cnt-1; i++)//外层循环的作用指定排序的范围,

    {

        int min=i;

        for (int j=i+1; j<cnt; j++)//内层循环的作用是在指定范围内的最小的数,min记录最小数的下标。

        {

            if ((arr[min]>arr[j]))

            {

                min=j;

             }

            

            

        }

        if (min!=i)//如果 min i相等,不交换。意为上面是最小的数。不相等则交换。

        {

            Datatype temp=arr[min];

            arr[min]=arr[i];

            arr[i]=temp;

        }

    }

}




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值