映客男女主播不雅视频

Logo 全站主图
c冒泡算法

Admin | 2011-10-26 5:42:34 | TrackRecord: 3165 Times | Tag标签:算法网页 打印本页

您当前所处的位置是:〖美女AV 〗→【文章页】

本站提供经典的Excel公式函数实例,Word排版技巧,PPT教程;同时更兼有Flash,PowerPoint,数据库等技术文章。

  一、c语言的冒泡算法的基本思想

  将被排序的记录数组R[1..n]垂直排列,每个记录R[i]看作是重量为R[i]的气泡。根据轻气泡不能在重气泡之下的原则,从下往上扫描数组R:凡扫描到违反本原则的轻气泡,就使其向上“飘浮”。如此反复进行,直到最后任何两个气泡都是轻者在上,重者在下为止。

  一般地,第i遍处理时,不必检查第i个位置以上的元素,因为经过前面i-1遍的处理,它们已正确地排好序。即就是在一组待排序的数据中,两两比较数据的大小,发现两个记录的排序次序相反时就交换位置,直到没有反序的记录为止。也就是说它重复地走访过要排序的序列,一次比较两个项目,如果他们的顺序错误就把他们交换过来。走访序列的工作是重复地进行直到没有再需要做交换动作,该序列已经排序完成。一趟冒泡,至少可以把值最大的元素送到最后位置(或最上边);当然也可以倒过来做,把值小的元素向前移或向下移,一趟冒泡,至少可以把值最小的元素送到最前面的位置(或最下边)。

  二、c语言冒泡算法的示例代码

  优化的冒泡排序法程序
  void BubbleSort (int R[ ], int n)
     { //R[1…n]是待排序的文件,采用自下向上扫描,对R做冒泡排序
       int  i, j;
       Boolean exchange ; //交换标志
       for(i=1; i<n; i++) 
   { //最多做n-1趟排序
       exchange=FALSE;   //本趟排序开始前,交换标志应为假
       for(j=n-1; j>=i; j--)   //对当前无序区R[i…n]自下向上扫描
          if(R[j+1]<R[j])   
  {//交换记录
            R[0]=R[j+1];      //R[0]不是哨兵,仅做暂存单元
            R[j+1]=R[j];        
   R[j]=R[0]; }
            exchange=TRUE;     //发生了交换,故将交换标志置为真         }
         if(!exchange)         //本趟排序未发生交换,提前终止算法
               return;     }          //endfor(外循环)
         }             //BubbleSort


EmailNumber

本站仅与内容具备一定的实用价值的原创网站交换友情链接,力争为大众做出更优质的服务!
All Rights Reserved版权所有 本站备案信息:滇ICP备11001339号-2 站长AV视频 方式 Email:

映客男女主播不雅视频