链表尾插法为什么要定义一个结构体变量

如题所述

1.用头插法。因为数据追加和删除比较多,追加的话,头插法可以直接插,用尾插降低了时间效率,删除用两个一样。
2./*结构体定义*/
struct client{
char account[14];
char name[10];
char identity[20];
char address[15];
long int money;
};
/*链表结点定义*/
struct node{
struct client band_inf;
struct node *next;
};
应该把结构体结点定义成链表的成员,这样链表才对。如果像你那样定义的话,完全不用定义结构体,链表就搞定了。因为你在链表里面把结构的成员都又定义了。
3.
1),定义结点:p1=(struct node*)malloc(sizeof(struct node)) ;表示定义一个node型的结点指针
使用,这个要看具体怎么用了。比如说删除searchp,priorp是searchp的前面一个结点,这样写
priorp->next=searchp->next;
delete searchp; 即可
插入newnode在searchp的后面,可以这样:
newnode->next=searchp->next;
searchp->next=newnode;
2)广义的二进制就是文件,你存成什么文件都行。.txt就行。
3)有保存的。if(fwrite(&stud[i],sizeof(struct student_type),1,fp)!=1)。里面有个fwrite就是写入文件,在判断的过程中,能写入文件的就已经写入了。 望采纳。
温馨提示:答案为网友推荐,仅供参考
相似回答