我通過代碼排在隊列中插入元素的邏輯,但我無法理解如何顯示功能工作無法理解排隊功能
void enqueue(int x)
{
queue *ptr;
queue *ptr1;
ptr=(queue*)malloc(sizeof(queue));
ptr->info=x;
if(front==rear&&front==NULL)
{
ptr->next=NULL;
front=rear=ptr;
}
else
{
while(rear->next!=NULL)
{
rear=rear->next;
}
rear->next=ptr;
ptr->next=NULL;
}
}
//由於有前面之間沒有任何聯繫及後,我無法理解如何旁邊前面指向下一個元素在隊列
void show()
{
queue *ptr=front;
while(ptr!=NULL)
{
printf("%d\n",ptr->info);
ptr=ptr->next;
}
}
但是,在我已指定前置式>下將指向後方 – Newbie786 2015-04-06 10:13:22
@ Newbie786在第二呼叫開始到插入'()','front'和'rear'指向相同的元件。當你在'rear-> next'插入一個元素時,'front-> next'也指向相同的元素,因爲'front == rear'。 – dasblinkenlight 2015-04-06 10:38:46
好吧,現在我得到它 – Newbie786 2015-04-06 11:06:17