คำตอบที่ได้รับเลือกจากเจ้าของกระทู้
ความคิดเห็นที่ 3
ลองดูครับ
struct node
{
int id;
char name[30];
float score;
struct node *next;
};
struct node *head = NULL;
struct node *curr = NULL;
if(head == NULL)
{
fscanf(...);
struct node *ptr = (struct node*)malloc(sizeof(struct node));
if(NULL == ptr)
{
printf("Node creation failed");
return NULL;
}
ptr->id = am.id;
ptr->score = am.score;
strcpy(ptr->name, am.name);
ptr->next = NULL;
head = ptr;
curr = ptr;
}
else
{
fscanf(...);
struct node *ptr = (struct nade*)malloc(sizeof(struct node));
...
ptr->next = NULL;
curr->next = ptr;
curr = ptr;
}
curr = head;
while(curr != NULL)
{
printf("%d %s %f", curr->id, curr->name, curr->score);
curr = curr->next;
}
struct node
{
int id;
char name[30];
float score;
struct node *next;
};
struct node *head = NULL;
struct node *curr = NULL;
if(head == NULL)
{
fscanf(...);
struct node *ptr = (struct node*)malloc(sizeof(struct node));
if(NULL == ptr)
{
printf("Node creation failed");
return NULL;
}
ptr->id = am.id;
ptr->score = am.score;
strcpy(ptr->name, am.name);
ptr->next = NULL;
head = ptr;
curr = ptr;
}
else
{
fscanf(...);
struct node *ptr = (struct nade*)malloc(sizeof(struct node));
...
ptr->next = NULL;
curr->next = ptr;
curr = ptr;
}
curr = head;
while(curr != NULL)
{
printf("%d %s %f", curr->id, curr->name, curr->score);
curr = curr->next;
}
แสดงความคิดเห็น
หัดเขียนภาษา C ครับงงเรื่อง Linkedlist
ถ้าผิดขออภัยด้วยครับไม่รู้จะไปตั้งที่ห้องไหน
ตอนนี้ผมเรียนภาษา C อยู่ครับวิชา structure
งงเรื่องโครงสร้าง Linked List มาก
คำถามผมคือ
ถ้าผมประกาศ
typedef struct Node{
int id;
char name[30];
char data[30];
float score;
struct Node *next;
}Data;
ในฟังก์ชั่น main
เงื่อนไข
if(Head == NULL)
{
fscanf(inf,"%d %s %f",&am.id,&am.name,&am.score);
Head = (Data*)malloc(sizeof(Data));
Head -> data[cnt] = am.id,am.name,am.score;
Head -> next = NULL;
cur = Head;
}
else{
fscanf(inf,"%d %s %f",&am.id,&am.name,&am.score);
New = (Data*)malloc(sizeof(Data));
New -> data[cnt] = am.id,am.name,am.score;
New -> next = NULL;
cur -> next = New;
cur = cur -> next;
}
สมมุติว่าตอนนี้ผมอ่านข้อมูลจาก text file ลงใน array ชื่อ data[cnt] ถูกต้องมั้ยครับ
แล้วถ้าเราจะปริ้นข้อมูลจาก data[cnt] ใน linkedlist นี้จะเขียนยังไง
while(cur!=NULL)
{
printf("%s\n",cur -> data[cnt]);
cnt++;
cur=cur->next;
}
แบบนี้ถูกรึเปล่า