编写代码,使用链表,教职工信息管理系统,可以分系进行学历统计,计算各学历的人数
时间: 2023-07-25 19:18:51 浏览: 70
CPPexam9,c语言职工信息管理系统源码,c语言程序
好的,我可以为你编写一个简单的教职工信息管理系统的代码,使用链表进行存储和操作。以下是示例代码:
```python
class Node:
def __init__(self, name, department, education):
self.name = name
self.department = department
self.education = education
self.next = None
class LinkedList:
def __init__(self):
self.head = None
def add_node(self, name, department, education):
new_node = Node(name, department, education)
if not self.head:
self.head = new_node
else:
current_node = self.head
while current_node.next:
current_node = current_node.next
current_node.next = new_node
def count_education(self, department):
education_count = {'本科': 0, '硕士': 0, '博士': 0}
current_node = self.head
while current_node:
if current_node.department == department:
if current_node.education == '本科':
education_count['本科'] += 1
elif current_node.education == '硕士':
education_count['硕士'] += 1
elif current_node.education == '博士':
education_count['博士'] += 1
current_node = current_node.next
return education_count
# 示例代码的使用
linked_list = LinkedList()
linked_list.add_node('张三', '计算机科学系', '本科')
linked_list.add_node('李四', '计算机科学系', '硕士')
linked_list.add_node('王五', '软件工程系', '博士')
linked_list.add_node('赵六', '软件工程系', '本科')
education_count = linked_list.count_education('计算机科学系')
print('计算机科学系本科人数:', education_count['本科'])
print('计算机科学系硕士人数:', education_count['硕士'])
print('计算机科学系博士人数:', education_count['博士'])
```
这个示例代码创建了一个 `Node` 类和一个 `LinkedList` 类。`Node` 类表示每个链表节点,包含 `name`、`department`、`education` 和 `next` 属性。`LinkedList` 类表示整个链表,包含 `head` 属性和三个方法:`add_node`、`count_education` 和 `print_list`。
`add_node` 方法用于向链表中添加新的节点。`count_education` 方法接受一个系别参数,遍历整个链表,统计该系别中不同学历的人数,并将结果返回。`print_list` 方法用于打印整个链表的内容。
你可以根据自己的需要修改代码,并在其基础上扩展更多功能。
阅读全文