如何建立一个有序单链表源代码
- 编程技术
- 2025-02-08 22:38:30
- 1

要建立一个有序单链表,我们首先需要定义链表节点的数据结构,然后实现插入操作以确保链表保持有序。以下是一个简单的有序单链表的实现,包括节点定义和插入函数的Python代码...
要建立一个有序单链表,我们首先需要定义链表节点的数据结构,然后实现插入操作以确保链表保持有序。以下是一个简单的有序单链表的实现,包括节点定义和插入函数的Python代码:
```python
class ListNode:
def __init__(self, value=0, next=None):
self.value = value
self.next = next
class OrderedList:
def __init__(self):
self.head = None
def insert(self, value):
new_node = ListNode(value)
if self.head is None or self.head.value >= new_node.value:
new_node.next = self.head
self.head = new_node
else:
current = self.head
while current.next is not None and current.next.value < new_node.value:
current = current.next
new_node.next = current.next
current.next = new_node
def display(self):
current = self.head
while current:
print(current.value, end=' ')
current = current.next
print()
示例使用
ordered_list = OrderedList()
ordered_list.insert(10)
ordered_list.insert(5)
ordered_list.insert(20)
ordered_list.insert(3)
ordered_list.display() 输出应该是 3 5 10 20
```
在这个代码中,`ListNode` 类定义了链表的节点,每个节点包含一个值和一个指向下一个节点的指针。`OrderedList` 类包含一个指向链表头部的指针 `head`,一个 `insert` 方法用于插入新元素,以及一个 `display` 方法用于打印链表的内容。
`insert` 方法首先检查链表是否为空或者新节点的值是否小于或等于头节点的值,如果是,则将新节点插入到链表的开头。否则,它将遍历链表直到找到正确的插入位置,然后将新节点插入到链表中。
`display` 方法用于遍历链表并打印每个节点的值。
本文链接:http://www.xinin56.com/bian/526104.html
上一篇:xp如何telnet交换机
下一篇:正氮平衡指的是什么呢