代码中的else条件是为了设置前一个节点next指向而写的,这点我们记住先看下面的代码,稍后大家回过头想就明白了 le=ls; le=ls;这么写就是为了保存上一次循环指针的位置而设的,正是为了上面的else代码而做的预先保留 ls=new test; 这两行代码的意思就是继续开辟下一个节点空间,和输入节点内容! le->next=NULL; 程序的思路始终是以先开辟后判断为思路的,所以到最后一个不成立的时候总会有一个多开辟的内存空间,为了删除掉它,我们有了下面的代码 delete ls; 程序到最后由于返回head指针 return head; 显示链表的函数没有什么太多特别的也只需要注意下面这样就可以了! head=head->next; 我们之所以不用head+=1;来写就是因为链表是我们动态开辟的,而每一个节点的位置并不是相连的,next成员指针的意义也就是下一个节点的内存地址。 到这里整个创建函数的设计思路也都说完了,笔者不一定说的很好,但基本思路是这样的,希望读者多思考,多对比,相信此教程还是对大家有帮助的,程序设计就是利用逐步思考的方式进行的,写好的代码往往直接看看不懂就是因为中间的细节并不是一次都能够想到的。 下面我们来说一下链表节点的删除! struct test number为唯一的编号每一个节点的。 |
正在阅读:C/C++中结构体(struct)知识点强化C/C++中结构体(struct)知识点强化
2005-03-07 15:12
出处:PConline
责任编辑:xietaoming
键盘也能翻页,试试“← →”键