千家信息网

C语言中链式存储队列的实现方法

发表于:2025-02-02 作者:千家信息网编辑
千家信息网最后更新 2025年02月02日,这篇文章主要介绍"C语言中链式存储队列的实现方法",在日常操作中,相信很多人在C语言中链式存储队列的实现方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"C语言中链式存
千家信息网最后更新 2025年02月02日C语言中链式存储队列的实现方法

这篇文章主要介绍"C语言中链式存储队列的实现方法",在日常操作中,相信很多人在C语言中链式存储队列的实现方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"C语言中链式存储队列的实现方法"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

#include #include using namespace std;typedef struct node{    int data;    struct node *next;}NODE;typedef struct queue{    NODE* head;    NODE* tail;}QUEUE;QUEUE* create_queue(){    QUEUE* queue =  new QUEUE;    queue->head = NULL;    queue->tail = NULL;    return queue;}NODE* create_node(int data){    NODE* node = new NODE;    node->data = data;    node->next = NULL;    return node;}void queue_push(QUEUE* queue,int data){    NODE* node = create_node(data);    if(queue->tail == NULL)    {        queue->tail = node;        queue->head = node;    }    else    {        queue->tail->next = node;        queue->tail = node;    }}NODE* destroy_node(NODE* node){    NODE* next = node->next;    delete node;    return next;}int queue_pop(QUEUE* queue){    if(queue->head == NULL)    {        assert(false);    }    int data = queue->head->data;    queue->head =destroy_node(queue->head);    if(queue->head == NULL)    {        queue->tail = NULL;    }    return data;}int queue_size (QUEUE* queue){    int size = 0;    NODE* node = NULL;    for(node=queue->head; node;node=node->next)    {        size++;    }    return size;}void clear(QUEUE* queue){    while(queue->head)    {        queue->head = destroy_node(queue->head);    }    queue->tail = NULL;}void destroy_queue(QUEUE* queue){    clear(queue);    delete queue;}bool queue_empty(QUEUE* queue){    if( (queue->head==NULL) && (queue->tail==NULL))    {        return true;    }    return false;}int main(){    QUEUE* queue = create_queue();    cout<<"input number:  ";    for(int i=0;i<10;i++)    {        queue_push(queue,i);        cout<

到此,关于"C语言中链式存储队列的实现方法"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!

0