职工管理系统是一个用于管理员工信息的系统,它可以包括添加、修改、删除和查询等功能。在链式存储中,每个节点都包含一个指向下一个节点的指针,这样可以避免重复存储相同的数据,提高内存利用率。
以下是一个简单的链式存储实现的职工管理系统:
```python
class Employee:
def __init__(self, id, name, age, department):
self.id = id
self.name = name
self.age = age
self.department = department
self.next = None
class EmployeeManager:
def __init__(self):
self.head = None
def add_employee(self, id, name, age, department):
new_employee = Employee(id, name, age, department)
if self.head is None:
self.head = new_employee
else:
current = self.head
while current.next:
current = current.next
current.next = new_employee
def delete_employee(self, id):
if self.head is None:
return "No employees to delete"
if self.head.id == id:
self.head = self.head.next
return "Employee deleted"
current = self.head
while current.next:
if current.next.id == id:
current.next = current.next.next
return "Employee deleted"
current = current.next
return "Employee not found"
def search_employee(self, id):
if self.head is None:
return "No employees to search"
current = self.head
while current:
if current.id == id:
return current
current = current.next
return "Employee not found"
def display_employees():
if self.head is None:
return "No employees to display"
current = self.head
while current:
print("ID:", current.id, "Name:", current.name, "Age:", current.age, "Department:", current.department)
current = current.next
# Example usage:
employee_manager = EmployeeManager()
employee_manager.add_employee(1, "Alice", 30, "HR")
employee_manager.add_employee(2, "Bob", 25, "IT")
employee_manager.display_employees()
employee_manager.delete_employee(1)
employee_manager.display_employees()
```
在这个系统中,我们定义了一个`Employee`类来表示一个职工,它有`id`、`name`、`age`和`department`属性,以及一个指向下一个`Employee`对象的指针。我们还定义了一个`EmployeeManager`类来管理职工信息,它有一个链表头`head`,以及添加、删除、搜索和显示职工的方法。