就是说 这个函数不需要参数 只要调用就固定执行函数体里面的内容并返回对应的值 不需要任何参数输入
这个是很常见的 叫无参函数
调用的时候直接
struct list head = creat();
这样就可以了
设单链表的长度为n,要查找表中第i个结点(即你要确定的第K个位置),仅当1≦i≦n时,i的值是合法的。但有时需要找头结点的位置,故我们将头结点看做是第0 个结点,其算法如下:
Listnode getnode(linklist head , int i)
{
int j;
listnode p;
p=head;j=0;
while(p–>next && j<I){
p=p–>next;
j++;
}
if (i==j)
return p;
else
return NULL;
}
这个函数相当你给的代码中的函数 int GetElem_L(LinkList L,int i,ElemType e)
而你要确定的k 的位置就是int GetElem_L(LinkList L,int i,ElemType e)的参数 int i
希望对你有所帮助^_^
通常我们用 head 和 tail 指针来记录链表的头和尾。
注意,最后一个节点的“下一个”指针是nil,第一个节点的“前一个”指针也是nil。
链表和数组的比较
首先定义一个描述节点的类型:
构建 LinkedList
快慢指针
找到环的入口点
找出环开始的节点证明
题目描述:删除单链表倒数第 n 个节点,1 <= n <= length,尽量在一次遍历中完成。
题目描述:输出一个单链表的逆序反转后的链表。
方案一:
迭代:在链表第一个和第二个元素断开链表,保存后半段,前半段拼在新head前方,然后赋值给新head:具体如下面示意
方案二:
递归:递归找到最后一个节点作为新链表的头节点,然后再更新每一个node的next 值 ,实现链表的反转。而newhead 的值没有发生改变,为该链表的最后一个结点,所以,反转后,我们可以得到新链表的head。
更多链表算法题
以上就是关于14.11 C语言 建立单向链表,图中倒数第二行 struct list *creat( )什么意思creat后面为什么是空括号全部的内容,包括:14.11 C语言 建立单向链表,图中倒数第二行 struct list *creat( )什么意思creat后面为什么是空括号、带头结点的单链表,其长度存放在头结点的数据域中,设计一算法求倒数第k个结点的值,并且删除该结点。要求、Swift 数据结构 - 链表等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)