next和data都是自己定义的变量,一般时候是下一个结构体变量地址和当前这个结构体变量的数据,这样定义是为了便于记忆和观察,也是可敬首以定义别的变量名的,一般这种定义是闭稿慎用在链表的生成。如果我解释的不是很轿敬清楚的话,你可以追加提问!
打字不易,采纳哦!
在函数中不是有q->next=p;这时q是插入前的尾节点。那样q的的下一个(新插入的节点)就由q指向节点里的字段next指向了。
单链表的插入只需让s->next 和p->next的指针做一点改变即可。
s->next = p->next
p->next = s
单链表第i个数据插入结点的算法思路是:
1、声明一个指针p指向链表的第一个结点,初始化j从1开始;
2、当j<i 时,遍历链表,让p的指针向后移动,不断指向下一结点,j累加1;
3、若到链表则液末尾p为空,说明第i个元素不存在;
4、否则查找成功,在系统中生成一个空结点s;
5、将数据元素e赋值给s->data;
6、单链表的插入标准语句 s->next = p->nextp->next = s
7、返回成功。
扩展资料
单链表的建立有头插法、尾插法两种方法。
1、头插法
单链表是用户不断申请存储单元和改变链接皮腊关系而得到的一种特殊数据结构,将链表的左边称为链头,右边称为链尾。头插法建单链表是将链表右端看成固定的,链表不断向左延伸而得到的。头插法最先得到的是尾结点。
链表建立的过程是申请空间、得到数据、建立链接的循环处理过程。
2、尾插法
若将链表的左端固定,链表不断向右延伸,这种建立链表的方法称为尾插法。尾插法建立链表时,头指针固定不动,故必须设立一个搜索指针,向链表右边延伸孙握物,则整个算法中应设立三个链表指针,即头指针head、搜索指针p2、申请单元指针pl。尾插法最先得到的是头结点。
像int一样都是类型的变量;他是定义的一个结构体指针,没有早携赋值时指向NULL;赋值后指向一个结构体地址;其功能是吧结构体关联起来,从本结构体可以找到下一个结构体。(就好像我这保清睁灶存着你的地址,我可以找到你,你又知道别人的地址,我通过你就可以找到别人。)next也可以说只是答扮个名,便于我们直观的认识他的功能和意义。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)