怎样创建一个链表?

C语言

1新建一个函数,用来创建链表的头结点,这里有一个问题,传入的参数是什么呢,是指针还是?

        如果用指针做为函数的参数,等到函数结束的时候,它的内存会被释放,所以在函数的外部就无法传递这个指针的值,导致这部分的内存无法被使用。

所以我们在这里有指针的指针做为函数的传入参数。

2建立一个链表,新加入一个新的结点,这里需要进行判断,当向头结点之前进行插入时,是将新的结点的next值指向head,然后再将head指向pnew这个新的结点,

如果是插入到这个链表的末尾,则需要用while找到链表的最后一个结点,将它的next值指向pnew,再将pnew的next指向null,

最后是插入到链表中的结点,先while找出需要插入的结点(用for循环 i=0则指向的是本身,i=1 指向的是它前一个结点),然后用pnew的next值指向找到结点的next的值,最后用找到的结点的next指向pnew结点。

3删除一个结点

先找到需要删除的结点,用它上一个结点的next指向下下一个结点(就是将删除的结点跳过去),再将需要删除的结点d4elete

4单向链表的逆序

新建三个指针,分别指向头结点,头结点的下一个结点,和第三个结点,第一步,将第三个结点用指针保存起来,然后,第二个结点的next指向第一个结点,再将第一,二,三个结点后移,直到第一个结点为null结束。



你可能感兴趣的:(C,C++,C创建链表,c语言,链表,指针)