zoukankan      html  css  js  c++  java
  • 排序之冒泡排序

    #include<stdio.h>  /*头文件*/
    
    #define M 100   /*定义常量*/
    int R[M];   /*定义数组*/
    int main()
    {
          
        int i,j,temp,n;
       
        printf("input n size:");/*数组大小*/
        scanf("%d",&n);
        
        printf("input  number  one by one:
    ");
        for(i=1;i<=n;i++)/*一个一个的输入数组元素*/
        {
            scanf("%d",&R[i]);
        }
        printf("before sort numbers:
    ");
        for(i=1;i<=n;i++)/*打印排序之前的数组元素*/
        {
                  printf("%4d",R[i]);
        }
        printf("
    ");
        for(i=1;i<=n-1;i++)/*排序趟数*/
        {
            for(j=1;j<=n-i;j++)/*每趟比较次数*/
            {
                if(R[j]>R[j+1]) /*判断前一个数据元素是否比后一个大,大于则交换*/
                {
                    temp=R[j];
                    R[j]=R[j+1];
                    R[j+1]=temp;
                }
            }
        }
        printf(" after sort numbers:
    ");
        for(i=1;i<=n;i++)  /*打印冒泡排序之后序列*/
        {
           printf("%4d",R[i]);    
        }
        
    }
    View Code


    思想:首先是将第1个数和第2个数进行比较,若为逆序(R[1]>R[2]),则交换这两个数的位置,然后比较第2个数和第3数,以此类推,直至第n-1个数和第n个数进行比较为止.这个过程称为第一趟冒泡排序,排序结果是最大的数被排在了最后。即R[n].

        接着进行第二趟冒泡排序,即对前n-1个数再次进行两两比较,若为逆序则交换,排序结果是第二大的数被排在倒数第二。即R[n-1].然后进行第三趟冒泡排序,对前n-2个数进行同样的操作,以此类推。

         比如:10个数进行冒泡排序,必须进行9趟排序,每一趟中两个数比较次数是不相同的,第一趟比较10-1=9次(10为许排序的数目,1为该趟的趟数),第二趟要比较10-2=8次,以此类推,第i趟要比较的次数=10-i.

        如有n个数,则要进行n-1趟排序(由外循环控制),第i趟两数之间的比较要进行n-i次(由内循环控制).

    冒泡排序速记口诀(降序):

    N个数字来排序,两两相比大靠前,

    外层循环N-1,内层循环N-1-i.

    如果要升序,

    只要把程序中的if (a[j] < a[j + 1])

    小于号换成大于号就行了

  • 相关阅读:
    CS001496 Gather data from web page with JavaScript, WebKit, and Qt
    中文 英特尔® 软件网络 blog
    CS001496 Gather data from web page with JavaScript, WebKit, and Qt
    Qt Port of WebKit ¶
    Category:Qt WebKit Nokia Developer Wiki
    Qt webKit可以做什么(四)——实现本地QObject和JavaScript交互
    看了潘爱民老师的关于smartcache for webkit的paper
    Qt 4.7: QWebInspector Class Reference
    CS001497 Add data to a web page with JavaScript, WebKit, and Qt
    geventcurl
  • 原文地址:https://www.cnblogs.com/wc1903036673/p/3499292.html
Copyright © 2011-2022 走看看