struct DataL //结构体 { long int DNum;struct DataL *next;};//插入函数,参数为左、右节点的指针。
成都网站设计、网站制作,成都做网站公司-成都创新互联公司已向上千家企业提供了,网站设计,网站制作,网络营销等服务!设计与技术结合,多年网站推广经验,合理的价格为您打造企业品质网站。
//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;//注意指针的赋值顺序。
//printf(input records:\n);//这句有错不知道为甚么 - - struct student* head,*stu;这两句交换一下,C语言不能在定义之前调用函数。
1,链表是否为空链表 2,要插入的节点是不是空指针。
在p之后插入结点,同样申请结点,赋值为e,然后让NewNode-next=p-next,p-next=NewNode。
}// 新增节点插入链表尾部if ( pre_node-credit credit ) {pre_node-next = new_node;return;}}下面是运行结果如果你看理解了这个思路,那么链表的增删查改操作就没有问题了。
); scanf(%d,&n); headST=getSTS(n); printf(%d个节点链表已生成。
循环啊,从head节点开始先找到最后一个节点,之后每一个node中有一个next指针,不断给这个指针赋值,再把添加进来的最后一个node的next指针赋成NULL,就可以了啊。
1、1,链表是否为空链表 2,要插入的节点是不是空指针。
2、if (newNode == NULL) return FALSE; newNode-value = newValue; // 统一了插入的步骤。
3、然后申请结点newNode,让它的数据域为e,然后让newNode-next=pos-next,pos-next=newNode。在p之后插入结点,同样申请结点,赋值为e,然后让NewNode-next=p-next,p-next=NewNode。
4、//if(p2-datanext=p;p-next=p2-next;} //改为这样。这里不是 判断表 尾,是插入p结点。/*else{ 同样无必要。
5、); scanf(%d,&n); headST=getSTS(n); printf(%d个节点链表已生成。