题目描述
假设某校有20间宿舍,宿舍编号101,102,...,120。每间只住一名学生。初始部分宿舍已用。用两个链表(已用宿舍链表和可用宿舍链表)维护宿舍的管理,实现宿舍分配、宿舍交回。
约定已用宿舍链表按宿舍号升序链接。初始可用宿舍链表也按宿舍号升序链接。
宿舍分配从可用宿舍链表中摘取第一间宿舍分配给学生。学生交回的宿舍挂在可用宿舍链表最后。
备注:使用list容器或静态链表。不用考虑宿舍分配和交回不成功的情况。
STL实现:
一些小说明:
1. remove() 删除链表中匹配值的元素( 匹配元素全部删除)
free.remove(room); // 删除free链表中与输入的room相同的元素
2. erase() 删除一个元素或一个范围内元素,注意括号内是迭代器