[問題] 做出多個queue
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
DEV C++
問題(Question):
想做出多個不同長度的queue
程式碼(Code):(請善用置底文網頁, 記得排版)
#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\n", current->data);
current = current->next;
}
}
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;
}
補充說明(Supplement):
結果為0 1 2 ... 9,完全不是queue = = ,我認為bug是在tail的部分
但又不想把head tail改為global,所以試著寫成local,就卡住了
之後想多弄出不同長度的queue,只要宣告不同的head,然後丟進enqueue
就可以任意插入到不同的queue,但實做不出來
希望可以提供些想法或技巧
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.117.178.152
→
03/23 20:55, , 1F
03/23 20:55, 1F
→
03/23 20:55, , 2F
03/23 20:55, 2F
推
03/24 06:27, , 3F
03/24 06:27, 3F
→
03/24 22:08, , 4F
03/24 22:08, 4F
→
03/24 22:12, , 5F
03/24 22:12, 5F