这个该咋写啊有人会吗可以给我

img


typedef struct element_s{
    struct element_s *next;
    void *data;
}element_t;

typedef struct queue_s{
    struct element_s *tail;
}queue_t;

queue_t* init_queue(){
    queue_t *queue = (queue_t*)malloc(sizeof(queue_t));
    element_t* head = (element_t*)malloc(sizeof(element_t));
    head->next = head;
    queue->tail = head;
    return queue;
}

void push(queue_t *q , void *data){
    element_t* node = (element_t*)malloc(sizeof(element_t));
    node->data = data;
    
    node->next = q->tail->next;
    q->tail->next = node;
    q->tail = node;
}

#include<stdio.h>
int main()
{
    queue_t* q=init_queue();
    push(q , (void*)1);
    push(q , (void*)2);
    
    for(element_t* node=q->tail->next->next;node!=q->tail->next;node=node->next){
        printf("%d\n",(int)(node->data));
    }
    
    
    return 0;
}