暂无图片
暂无图片
暂无图片
暂无图片
暂无图片
算法大全-面试题-数据结构.docx
215
65页
0次
2021-02-22
40墨值下载
一、单链表
目录
1.
单链表反转
2.
找出单链表的倒数第
4
个元素
3.
找出单链表的中间元素
4.
删除无头单链表的一个节点
5.
两个不交叉的有序链表的合并
6.
把这个二级链表称一级单链表。
7.
单链表交换任意两个元素(不包括表头)
8.
判断单链表是否有环?如何找到环的“起始”点?如何知道环的长度?
9.
判断两个单链表是否相交
10.
两个单链表相交,计算相交点
11.
用链表模拟大整数加法运算
12.
单链表排序
13.
删除单链表中重复的元素
首先写一个单链表的
C#
实现,这是我们的基石:
public class Link
{
public Link Next;
public string Data;
public Link(Link next, string data)
{
this.Next = next;
this.Data = data;
}
}
其中,我们需要人为地在单链表前面加一个空节点,称其
head
。例如,一个
单链表是
1->2->5
,如图所示:
对一个单链表的遍历如下所示:
static void Main(string[] args)
{
Link head = GenerateLink();
Link curr = head;
while (curr != null)
{
Console.WriteLine(curr.Data);
curr = curr.Next;
}
}
1.
单链表反转
这道题目有两种算法,既然是要反转,那么肯定是要破坏原有的数据结构的:
1
curr
next
下一个节点
nextnext
public static Link ReverseLink1(Link head)
{
Link curr = head.Next;
Link next = null;
Link nextnext = null;
of 65
40墨值下载
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文档的来源(墨天轮),文档链接,文档作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

关注
最新上传
暂无内容,敬请期待...
下载排行榜
Top250 周榜 月榜