当前位置:首页 > 编程技术 > 正文

如何建立一个有序单链表源代码

如何建立一个有序单链表源代码

要建立一个有序单链表,我们首先需要定义链表节点的数据结构,然后实现插入操作以确保链表保持有序。以下是一个简单的有序单链表的实现,包括节点定义和插入函数的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` 方法用于遍历链表并打印每个节点的值。

最新文章