楼主大大,你的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,这样的说法
大大可以懂吗