构建一个有序链表
时间: 2023-06-28 11:06:06 浏览: 45
一个有序链表是一种数据结构,它按照升序(或降序)排列节点。下面是一个示例代码,展示如何使用 Python 构建一个有序链表:
```python
class Node:
def __init__(self, data=None):
self.data = data
self.next = None
class SortedLinkedList:
def __init__(self):
self.head = None
def append(self, data):
new_node = Node(data)
if self.head is None:
self.head = new_node
elif self.head.data > data:
new_node.next = self.head
self.head = new_node
else:
current = self.head
while current.next is not None and current.next.data < data:
current = current.next
new_node.next = current.next
current.next = new_node
def display(self):
current = self.head
while current is not None:
print(current.data, end=" ")
current = current.next
print()
```
在上面的示例代码中,我们首先定义了一个 `Node` 类,它表示链表中的一个节点。每个节点都有一个 `data` 属性来存储数据,以及一个 `next` 属性来指向下一个节点。
接下来,我们定义了一个 `SortedLinkedList` 类,它表示一个有序链表。我们使用 `head` 属性来追踪链表的头节点。`append()` 方法用于向链表中添加一个新节点。如果链表为空,我们将新节点设置为头节点。如果新节点的值比头节点的值小,我们将新节点插入到链表的开头。否则,我们遍历链表,直到找到新节点应该插入的位置,并将其插入到链表中。最后,我们定义了一个 `display()` 方法来打印链表中的所有节点。