2012年11月2日 星期五

Link list example

想設計一個link list去儲存資料夾中的檔案名稱名與檔案大小
因為資料夾中的檔案隨時都會更動,想說用link list比較有彈性空間
以下是我自己寫的

我的領悟力一向很低,記得以前在學校學link list怎麼都學不會
聽也聽不懂這是什麼鬼東西!!!>"<
現在自己出來工作之後,有點時間靜下心來寫看看
原來這個鬼東西還滿好用低!嗯~

I want to design a link list to store file's name and file's size in a directory.
This is a simple code, very simple , I wrote it.

struct image_list{
       
        char *filename;
        int size;
        struct image_list *next;
    };   
   


    struct image_list *head = NULL;
    struct image_list *prev , *current;
    //initial a node , first node
    current = (struct image_list *)malloc (sizeof(struct image_list));
    current->filename = "file1";
    current->size = 500;
    current->next = NULL;
    head = current;
    printf ("current->filename.........=%s\n" ,current->filename );
    printf ("current->size.........=%d\n" ,current->size);
   
    //new a node , second node
    prev = current;
    current = (struct image_list *)malloc (sizeof(struct image_list));
    current->filename = "file2";
    current->size = 3400;
    current->next = NULL;
    prev->next = current;
    printf ("current->filename.........=%s\n" ,current->filename );
    printf ("current->size.........=%d\n" ,current->size);
   
    //go travel each node
    printf ("go travel each node---------------------------------\n" );
    current = head; // go to the first node
    while (current != NULL)
    {
        printf ("current->filename.........=%s\n" ,current->filename );
        printf ("current->size.........=%d\n" ,current->size);
        current = current->next;
   
    }




======output=====================================

current->filename.........=file1
current->size.........=500
current->filename.........=file2
current->size.........=3400
go travel each node---------------------------------
current->filename.........=file1
current->size.........=500
current->filename.........=file2
current->size.........=3400

沒有留言:

張貼留言