#include<stdlib.h>
#include<stdio.h>

struct queue
{
    int data;
    struct queue *next;
};

queue* enqueue(queue *head, queue **tail, int num);

int main()
{
    int i;
    queue *head1=NULL;  //目前只宣告第一個queue 之後想再多加幾個
    queue *tail1=NULL;  //可能會命名為head2....
    queue *current=NULL;

    for(i=0; i<10; i++)
    {
        head1 = enqueue(head1, &tail1, i);
        current = head1;

        while(current != NULL)
        {
            printf("%d ", current->data);
            current = current->next;
        }
        printf("\n");
    }

    system("pause");
    return 0;
}

queue *enqueue(queue *head, queue **tail, int num)
{
    queue *newnode;
    newnode = (queue*)malloc(sizeof(queue));
    (*newnode).data = num;

    newnode->next = NULL;

    if(*tail == NULL)
        head = newnode;
    else
        (*tail)->next = newnode;

    *tail = newnode;

    return head;
}
