C语言链表要怎么学啊
2个回答
展开全部
链表是一个很简单的结构,对于单链表来说,它的每一个节点都是一个结构,在这个结构中有两个变量,一个用来数据,为你想要存放的数据类型,一个是这种结构类型的指针,指向下一个结构类型。
当需要定义一个链表时首先定义一个头指针或者头结点(头结点钟不存放任何数据,所以可以用头指针来代替。)插入数据有三种方法,一是在头部插入,一是在尾部插入,一是在中间某个节点位置插入。
在头部插入时,要首先把原来的头指针的地址付给当前节点的指针,然后让头指针指向这一个节点。这样要是获取原有的第一节点时(头指针假设为0),就需要首先通过头结点的指针找到当前节点,在通过当前节点的指针找到原来的1节点(不过现在应该是第二个了)。
另外的两种于这个类似,就不再赘述了。
链表就是这个样子,只能通过指针一个一个的找,查询与遍历都非常的费事,但是插入与删除时节省了大量的数据移动的时间。而且长度是不受限制。
你不理解链表的实质是你对指针和它的使用机制不熟悉,你尝试把书上的代码敲到电脑上,一行一行的编写注释,然后编写测试程序,体验各种操作,你就能明白了,但是要想彻底明白还是要写很多的有关指针的程序以后,彻底明白了指针,才能明白。
当需要定义一个链表时首先定义一个头指针或者头结点(头结点钟不存放任何数据,所以可以用头指针来代替。)插入数据有三种方法,一是在头部插入,一是在尾部插入,一是在中间某个节点位置插入。
在头部插入时,要首先把原来的头指针的地址付给当前节点的指针,然后让头指针指向这一个节点。这样要是获取原有的第一节点时(头指针假设为0),就需要首先通过头结点的指针找到当前节点,在通过当前节点的指针找到原来的1节点(不过现在应该是第二个了)。
另外的两种于这个类似,就不再赘述了。
链表就是这个样子,只能通过指针一个一个的找,查询与遍历都非常的费事,但是插入与删除时节省了大量的数据移动的时间。而且长度是不受限制。
你不理解链表的实质是你对指针和它的使用机制不熟悉,你尝试把书上的代码敲到电脑上,一行一行的编写注释,然后编写测试程序,体验各种操作,你就能明白了,但是要想彻底明白还是要写很多的有关指针的程序以后,彻底明白了指针,才能明白。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询