大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
解析:p0指向要插入的结点,p1指向要和p0结点的info进行比较的结点,如果找到应该插入的位置,p0会被插入在p1之前,如果没找到,会被插入在p1之后。第一个if检查链表是否为空,如果为空,直接将p0变为首结点就完成了插入。
成都创新互联公司专注于企业营销型网站建设、网站重做改版、解放网站定制设计、自适应品牌网站建设、html5、商城网站建设、集团公司官网建设、成都外贸网站建设、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为解放等各大城市提供网站开发制作服务。
所以函数create的意思就是,若给的参数head非空,就在它后面添加一个节点,否则就新建一个节点并且返回该节点(作为单链表的表头)。
函数首先定义了一个头就是head ,其实它也是个节点,然后创建其他的节点,创建后输入数据,毕竟节点是保存数据的,然后在从节点头开始遍历将新创建的节点连接 在最后面。
链表是相同类型的若干个结构体用其自身携带的指针按照一定顺序串联成的一个链。
看你的疑问,在你的意识里,链表一定有个不带数据的链表头。
判断ki 这个可以放在前面,也是用来判断输入参数是否正确,链表开始应该是1,如果i1那就不对了。因为删除节点是一个一个删除的,而c语言里面删除是用free。当删除的时候。指向下一个节点的指针也没了。
//写出建立一个带头结点的线性链表的函数,其中每个结点包括学号、姓名、分数三个数据域。
不是L里面存的那个地址,即函数里面那个*L相当于是 *(&L),这个叫做指针的指针。另外,你这个数据结构的代码看不懂,你可以去看看c语言里面讲的那个结构体。
不会的,新的变量都是重新分配的新空间,只要你自己不在代码里面越界操作,没有任何一个访问会侵占你的链表空间。
1,链表是否为空链表 2,要插入的节点是不是空指针。
p0 = stu; //p0指向要插入的节点 if(head == NULL) //这个是检查链表是不是空的 { head = p0; //如果是空的就把要插入的结点,设置为头指针。
//printf(input records:\n);//这句有错不知道为甚么 - - struct student* head,*stu;这两句交换一下,C语言不能在定义之前调用函数。
代码写得不错。有如下几点要更正:1,主函数main 中的pnew-m=k;pnew没有申请就使用了。