16週目アイテム1-交換ソートのバブルソート(3)

1379 ワード

/*
* Copyright (c)2015,              
* All rights reserved.
*     :  1-3.cbp
*       :   
*     :2015 12 18 
*      :v1.0

*     :      

*     : 
*     :    
*/
#include <stdio.h>
#define MaxSize 20
typedef int KeyType;    //       
typedef char InfoType[10];
typedef struct          //    
{
    KeyType key;        //    
    InfoType data;      //     ,   InfoType
} RecType;              //         

void BubbleSort(RecType R[],int n)
{
    int i,j,k;
    RecType tmp;
    for (i=0; i<n-1; i++)
    {
        for (j=n-1; j>i; j--)   //  ,            
            if (R[j].key<R[j-1].key)
            {
                tmp=R[j];  //R[j] R[j-1]    ,          
                R[j]=R[j-1];
                R[j-1]=tmp;
            }
        printf("i=%d: ",i);
        for (k=0; k<n; k++)
            printf("%d ",R[k].key);
        printf("
"); } } int main() { int i,n=10; RecType R[MaxSize]; KeyType a[]= {9,8,7,6,5,4,3,2,1,0}; for (i=0; i<n; i++) R[i].key=a[i]; printf(" :"); for (i=0; i<n; i++) printf("%d ",R[i].key); printf("
"); BubbleSort(R,n); printf(" :"); for (i=0; i<n; i++) printf("%d ",R[i].key); printf("
"); return 0; }

実行結果: