Linklist 實作

Linklist的資料結構型態是類似以下的結構

typedef struvt node {
     char *data;
    struct node *next;

} Listnode;

Listnode n,*p;

他是一組結構包括資料,和指向另一節點的指標
變數n是一個Listnode 節點, p 是一個指向 Listnode 的指標

我實作了一個用linklist建立的一個binary tree


#include

typedef struct node{
    int data;
    struct node* left;
    struct node* right;
} Listnode;

const int Misc[11]={
    50,10,33,55,23,12,44,99,100,0,
};


void main(void){
    Listnode List1[10],List2[10],*ptr,*p1,*p2;
   
    int num,layer;
   
    for(num=0;num<10;num++){
        List1[num].data = Misc[num];
        List1[num].left = NULL;
        List1[num].right = NULL;
    }

    for(num=0;num<10;num++){
        cout << List1[num].data << endl;
    }
//    ptr = List1[0];
//    p1 = List1[0].left;
//    p2 = List1[0].right;
   
    for(num=1;num<10;num++){
        ptr = &List1[0];
        while(1){
            if(List1[num]->data > ptr->data ){
                if(ptr->right == NULL){
                    ptr->right = &List1[num];
                    break;
                }
                ptr = ptr->right;
            }
            if(List1[num]->data < ptr->data ){
                if(ptr->left == NULL){
                    ptr->left = &List1[num];
                    break;
                }
                ptr = ptr->left;
            }   
        }
       
    }

    ptr = &List1[0];
    while(1){
        if(ptr->left != NULL){
            cout << ptr->data << endl;
            ptr = ptr->left;
        }else{
            break;
        }
    }
//    while(1){
//        if(ptr->right != NULL){
//            cout << ptr->data << endl;
//            ptr = ptr->right;
//        }else{
//            break;
//        }
//    }   
}

留言

這個網誌中的熱門文章

如何在VS2022 Community 簡要的設定UDK2018的環境

自製讀取 H 檔案並找出 define 的程式

如何Build UDK2018