实现链表(C语言)

2025-05-15 07:02:25
推荐回答(4个)
回答1:

用对应类型的指针数组存储链表各节点地址,对应类型的指针变量存储指针数组名+1的地址,查找链表中倒数第k个位置上的结点(k为正整数),则是判断对应类型的指针变量-1-k的值不小于对应类型的指针数组的地址,为真,则通过*(指针变量-1-k)->date输出,并返回1;为假,只返回0。
这样不用每次都去遍历链表,只要将链各节点地址存储一次表,只是程序的存储空间大了些,但是可以实现多次的快速查找,执行效率高,特别是在较大的链表上!!
(还可以用指针数组元素个数与K比较,不小于为真,则通过指针数组名(指针数组元素个数-1-k)->date输出,并返回1;为假,只返回0。)

回答2:

链表应该没有很高效的查找算法吧,只有一个一个按顺序查找啊

不过可以设置两个指针变量,
link* p1,p2;
p1用来遍历
p2用来记录与p2相差K-1个节点
当p1遍历到完链表时,p2就是了

回答3:

这不是考研真题吗?

回答4:

这是你的课程作业吧,是师妹的话就好办了,师兄们等着你呢