第7周项目实践2.1 用只有尾节点指针rear的循环单链表实现队列算法库
生活随笔
收集整理的這篇文章主要介紹了
第7周项目实践2.1 用只有尾节点指针rear的循环单链表实现队列算法库
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
//用只有尾節點指針rear的循環單鏈表作為隊列存儲結構,其中每個節點的類型為LinkNode,rear指針用于唯一標識鏈隊
typedef struct LinkNode
{int date;LinkNode *next;
};
void initQueue(LinkNode *&rear)
{rear=NULL;
}
void enQueue(LinkNode *&rear,Elemtype e)
{LinkNode *p;p=(LinkNode *)malloc(Linknode);p->date=e;if(rear==NULL){p->next=p;rear=p;/*替代:rear=p;rear->next=rear;*/}else{p->next=rear->next;//將p節點的next指向頭數據節點rear->next=p;// 尾節點也指向p,構成循環鏈表rear=p;//rear下移}
}
bool deQueue(LinkNode *&rear,Elemtype &e)
{LinkNode *p;if(rear==NULL)return false;if(rear->next==rear){e=rear->date;free(rear);//只是把rear指向的值釋放rear=NULL;////return true;}else {p=rear->next;e=p->date;rear->next=p->next;free(p);return true;}
}
bool Queueempty(LinkNode *&rear)
{return (rear==NULL);// return (rear->next==NULL;)
}
總結
以上是生活随笔為你收集整理的第7周项目实践2.1 用只有尾节点指针rear的循环单链表实现队列算法库的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 第7周实践项目2 队列的链式存储结构及
- 下一篇: 第7周实践项目2.2 求解报数问题