【发布时间】:2021-08-14 10:28:57
【问题描述】:
我在一个结构列表中插入一些细节,每个四元组代表一个数据包,包括源、目标、生成时间和一个卷号? 这是我的显示函数,在 main() 中我只调用她:display();在主代码的末尾。如何仅显示列表中的前 10 个数据包(四个),这些数据包是我之前使用下面的插入函数插入的?
struct Packet{
int rollnumber;
int src;
int dest;
double gentime;
struct Packet *next;
}* head;
void display(){
struct Packet * temp = head;
while(temp!=NULL){
printf("Roll Number: %d\n",temp->rollnumber);
printf("src: %d\n", temp->src);
printf("dest: %d\n", temp->dest);
printf("gentime: %0.1f\n\n", temp->gentime);
temp = temp->next;
}
}
void insert(int rollnumber, int src, int dest, double gentime){
struct Packet * packet = (struct Packet *) malloc(sizeof(struct Packet));
packet->rollnumber = rollnumber;
packet->src=src;
packet->dest=dest;
packet->gentime = gentime;
packet->next = NULL;
if(head==NULL){
head = packet;
}
else{
packet->next = head;
head = packet;
}
}
【问题讨论】:
-
还有什么问题?仅显示 10 个数据包。
标签: c list struct singly-linked-list function-definition