某公司大约有30名员工,每名员工有姓名、工号、职务等属性,每年都有员工离职和入职。 把所有员工按照顺序存储结构建立一个线性表,建立离职和入职函数,当有员工离职或入职时,修改线性表,并且打印最新的员工名单。
时间: 2024-09-15 08:14:55 浏览: 65
你可以创建一个动态数组或者链表来存储员工信息,因为线性表的数据结构恰好适合这种频繁增删操作的场景。这里我们可以选择使用Python的列表作为基础数据结构,因为它支持动态调整大小。
首先,定义一个Employee类,包含姓名、工号和职务属性:
```python
class Employee:
def __init__(self, name, id, position):
self.name = name
self.id = id
self.position = position
# 假设有一个空的列表来存储员工
employees = []
```
然后,定义两个函数`add_employee`用于入职新员工和`remove_employee`用于离职:
```python
def add_employee(employee):
employees.append(employee)
print(f"员工 {employee.name} 已入职,员工名单更新:")
for i, emp in enumerate(employees):
print(f"{i+1}. {emp.name}, 工号:{emp.id}, 职务:{emp.position}")
def remove_employee(id):
if len(employees) > 0 and id <= len(employees):
removed_employee = employees.pop(id - 1)
print(f"员工 {removed_employee.name} 离职,员工名单更新:")
for i, emp in enumerate(employees):
print(f"{i+1}. {emp.name}, 工号:{emp.id}, 职务:{emp.position}")
else:
print("找不到对应员工或离职编号超出范围。")
# 示例使用
new_emp = Employee("张三", 1001, "经理")
add_employee(new_emp)
old_emp_id = 2
remove_employee(old_emp_id)
```
每次需要添加或删除员工时,只需要调用相应的函数并传入适当的参数。最后的for循环会列出当前的员工名单。请注意,这个例子使用的是索引从1开始计数,实际应用中可以根据需求调整。
阅读全文