亚洲春色中文字幕久久久-三上亚,一吻二脱三床四吻胸,国产真实伦对白视频全集,在线毛片观看,精品成品入口黄网,国产毛aⅴ片久久久,亚洲AV色香蕉一区二区三区老师,萧皇后A级艳片,色情日本视频更新,99久久亚洲精品日本无码

    
    

    標題: C語言分治排序算法 [打印本頁]

    作者: rocfly    時間: 2018-1-27 11:58
    標題: C語言分治排序算法
    分治排序算法
    1. #include<stdio.h>
    2. #include<stdlib.h>
    3. #include<math.h>

    4. /*將A數組中p到r元素進行分治排序*/
    5. MERGE(int *A, int p, int q, int r)
    6. {
    7.         int n1 = q - p + 1;//數組L中元素個數
    8.         int n2 = r - q;//數組R中元素個數
    9.         int *L, *R;
    10.         int i;
    11.         int j;
    12.         int k;
    13.         L = malloc( ( n1 + 1 ) * sizeof( int ) );
    14.         R = malloc( ( n2 + 1 ) * sizeof( int ) );

    15.         for( i = 0; i < n1; i++ )
    16.         {
    17.                 *( L + i ) = *( A + p + i );//A[p]到A[q]
    18.         }

    19.         for( i = 0; i < n2; i++ )
    20.         {
    21.                 *( R + i ) = *( A + q + i + 1 );//A[q+1]到A[r]
    22.         }

    23.         L[n1] = 2147483647;//2^31-1
    24.         R[n2] = 2147483647;//2^31-1

    25.         i=0;
    26.         j=0;

    27.         for( k = p; k <= r; k++ )
    28.         {
    29.                 if( L[i] <= R[j] )
    30.                 {
    31.                         A[k] = L[i];
    32.                         i = i + 1;
    33.                 }
    34.                 else
    35.                 {
    36.                         A[k] = R[j];
    37.                         j = j + 1;
    38.                 }
    39.         }

    40.         free( L );
    41.         free( R );
    42. }

    43. MERGE_SORT( int *A, int p, int r )
    44. {
    45.         int q;
    46.         if( p < r )
    47.         {
    48.                 q = ( int )floor( ( p + r ) / 2 );
    49.                 MERGE_SORT( A , p , q );
    50.                 MERGE_SORT( A , q+1 , r );
    51.                 MERGE( A , p , q , r );
    52.         }
    53. }

    54. main()
    55. {
    56.         int i;
    57.         int x[100];

    58.         for( i = 0; i < 10; i++ )
    59.         {
    60.                 x[i] = rand() % 100;
    61.                 printf("x[%d] = %d\n", i, x[i] );
    62.         }

    63.         MERGE_SORT( x , 0 , 9 );

    64.         for( i = 0; i < 10; i++ )
    65.         {
    66.                 printf("x[%d] = %d\n", i, x[i] );
    67.         }

    68.     getch();
    69. }
    復制代碼


    分治排序.rar

    656 Bytes, 下載次數: 4, 下載積分: 黑幣 -5






    歡迎光臨 (http://www.denmoz.com/bbs/) Powered by Discuz! X3.1