实现批量的IP地址,或地址段的排序并按照CIDR格式最小化聚合。
需要聚合的IP段放在ip.list文件中,聚合后的IP在文件new_ip.list
# 按照序号循环IP列表
for i in range(len(IpIntList)):
# 前一个IP
prev_ip = IpIntList[i]
# 设置该IP为net
net = prev_ip
# 前进到下一个需要整和的net位置
hash表一般都采用取余构造(将一个数对n取余然后根据余数来查找是否存在该数),当两个数的余数相同时仅仅凭借余数作为下标来查找就会发生错误即hash冲突,那么链地址法其实就是将余数相同的数用链表储存起来,那么查找时就遍历余数对应的链表即可(类似邻接表)
题目出处
#include
#include
using namespace std;
#define int long long
vector m[1005];//用二维数组代替链表
signed main(){
ios::sync_w