struct A //这就是个结构体,包含数据域和指针域
{
int a//数据域,可以是任何类百型的。
char b//数据域
A *p//指针域,就是struct A类型。
}链表,一般是动态的。你要静态的就不用malloc分配就行了。定义N个struct
A就行了。
struct A a1
struct A a2
struct A a3
struct A a4
//a1作为第一个节点
a1->next = a2
a2->next = a3
a3->next = a4
a4->next = NULL
//插入,在a2后面插入a5
struct A a5
a5->next = a2->next
a2->next = a5//注意指针的赋值顺序。虽然全部是度静态的问题不大。动态分配的时候不仔细会造成断链,内存溢出。
//删除a5
a2->next = a5->next//静态不存在释放的问题,动态申请的请释放a5;
单向链表只需要记住上面节点的指针即可,让上面指针指向你要插入的结构体节点的首位置,然后有两种情况:1. 如果你要在链表中间插入,那么你插入的节点的指针指向原来的下一个节点; 2. 如果在链表末尾插入,那么就直接将你插入节点的指针置为NULL欢迎分享,转载请注明来源:内存溢出
评论列表(0条)