采用链式存储结构,创建一个单链表,实现职工信息学生信息的存储,并能完成如下操作 1.建立单链表(头插法或尾插法);
时间: 2024-10-21 19:14:44 浏览: 20
数据结构(C语言)用单链表存储一元多项式并实现两个多项式的相加运算.doc
5星 · 资源好评率100%
在采用链式存储结构的情况下,我们可以使用节点(Node)来构建单链表。每个节点通常包含两个部分:数据域用于存储职工信息或学生信息,以及指针域链接到下一个节点。这里是一个简单的Python示例,展示如何创建一个支持职工和学生信息的双向链表(使用头插法),并实现基本的操作:
```python
class Node:
def __init__(self, type_, info):
self.type = type_ # 职工或学生
self.info = info # 详细信息,如姓名、学号等
self.prev = None # 指向前一个节点
self.next = None # 指向后一个节点
class LinkedList:
def __init__(self):
self.head = None
def append(self, type_, info): # 尾插法添加新节点
new_node = Node(type_, info)
if not self.head:
self.head = new_node
else:
current = self.head
while current.next:
current = current.next
current.next = new_node
new_node.prev = current
def prepend(self, type_, info): # 头插法添加新节点
new_node = Node(type_, info)
new_node.next = self.head
if self.head:
self.head.prev = new_node
self.head = new_node
def display(self):
current = self.head
while current:
print(f"{current.type} - {current.info}")
current = current.next
# 使用示例
linked_list = LinkedList()
linked_list.prepend('职工', {'姓名': '张三', '职位': '经理'})
linked_list.append('学生', {'学号': '001', '专业': '计算机科学'})
linked_list.display() # 输出链表内容
```
阅读全文