樓主大大,你的code要放在
複製程式
#include <stdlib.h>
#include <stdio.h>
struct list
{
int data;
struct list *next;
};
typedef struct list node;
typedef node *link;
void main(void)
{
link ptr,head;
int num,i;
head = (link)malloc(sizeof(node));
ptr = head;
printf("Please input 5 different data\n");
for(i = 0;i <= 4; i++)
{
scanf("%d",&num);
ptr->data = num;
ptr->next = (link)malloc(sizeof(node));
if(i==4)
ptr->next = NULL;
else
ptr = ptr->next;
}
printf("sequential print the list\n");
ptr = head;
while(ptr != NULL)
{
printf("The value is ==> %d\n",ptr->data);
ptr = ptr->next;
}
}
這裡面吧
再來是關於您說的,您的寫法是一般的link list ,也就是像stack的方法
要改成queue 的話要變成先進先出,也就是你在新增link時換個順序,也就是先malloc 一個node出來,
然後把這個新的node的next 指向原來的node ,再把head 移到新的node。
換句話說,您原來是像後面新增一個node ,現在改成向前向新增一個node,這樣的說法
大大可以懂嗎