데이터 구조 - 체인 기수 정렬

1889 단어 데이터 구조
#include 
using namespace std;

#define MAX_NUM_OF_KEY 8        //         
#define RADIX    10            //     ,           
#define MAX_SPACE 10000
typedef int DataType ;
typedef struct 
{
    int data;        //  , 571
    DataType keys[MAX_NUM_OF_KEY];        //          ,571 5,7,1
    int  next;        
}SLCell;    //         

typedef struct    Sllist
{
    SLCell *R;    //          ,r[0]    
    int recnum;        //         
    int keynum;        //          
}Sllist, * SLList;    //      

typedef int ArrType[RADIX];        //      ,        ,     ,     

////////////////////////////////////////////////////////////////////////////////
/*
    ArrType    front[RADIX]                                                ArrType    end[RADIX]
                |                                                |
    f[0]        |------>[930]                                                                                  [063]-->[083][184][505]                                                                                  [278]-->[008][109]-->[589]-->[269]>key;
    while(key!=0)
    {
        SLL->R[i].data = key;
        for(j = 1; j <= SLL->keynum; j++)
        {
            SLL->R[i].keys[j] = key % 10;
            key /= 10;
        }
        SLL->R[i-1].next=i++;
        cin>>key;
    }
    SLL->recnum = i-1;
    SLL->R[SLL->recnum].next=0;
}

void print(SLList &SLL)
{
    for(int p=SLL->R[0].next; p; p=SLL->R[p].next)
    {
        cout<R[p].data<R=(SLCell *)malloc(MAX_SPACE*sizeof(SLCell));
    SLL->recnum=0;
    SLL->keynum=3;

    creatList(SLL);
    cout<keynum; i++)    // LSD             
    {
        distribute(SLL->R, i,front,end);    // i   
        collect(SLL->R, i,front,end);        // i   
        cout<

좋은 웹페이지 즐겨찾기