6-1-1pta实现一个函数(C#实现),返回带头结点的单链表中最小元素的地址。函数接口定义:LinkList MinP()
时间: 2024-12-01 12:29:18 浏览: 31
在C#中,我们可以定义一个名为`LinkedListNode`的类表示链表节点,并在`LinkList`类中添加一个名为`MinP`的方法来返回链表中的最小元素。以下是详细的代码实现:
```csharp
public class LinkedListNode
{
public int Value;
public LinkedListNode Next;
public LinkedListNode(int value)
{
Value = value;
Next = null;
}
}
public class LinkList
{
private LinkedListNode head;
// 构造函数
public LinkList()
{
head = null;
}
// 添加新节点到链表
public void Add(int value)
{
if (head == null)
head = new LinkedListNode(value);
else
{
LinkedListNode newNode = new LinkedListNode(value);
newNode.Next = head;
head = newNode;
}
}
// MinP函数,返回最小元素节点的引用
public LinkedListNode MinP()
{
if (head == null) return null; // 链表为空,返回null
LinkedListNode current = head;
while (current != null && current.Next != null)
{
if (current.Value > current.Next.Value)
current = current.Next; // 递归寻找最小值
}
return current; // 返回找到的最小值节点
}
}
```
在上述代码中,`Add`方法用于向链表中添加元素,而`MinP`方法则是通过遍历链表,对比每个节点的值,找到并返回最小值所在的节点。
阅读全文