java 实现ip地址分类并排序
小女子为了谋生,前几天参加华为实习生笔试,结果被虐惨了(小皮鞭都没这么痛!)。。。一共3道编程题,小女子就会一题(掩面而泣)。小女子不甘心啊,茶不思饭不想地就坐在电脑前想想想!!!(会不会精尽人亡 (°□°;) )终于啊,老天开眼了!!!灵感如潮水一阵一阵冲击着小女子,想明白其中一题!!!小女子满足了,欣慰。
今天要讨论的就是其中占一半分的大题——对ip地址进行分类排序。题目具体描述小女子已记不清了,但是核心就是给5个ip地址,对这5个ip地址进行分类(A,B,C,D,E),每个分类里面的ip地址按数字大小升序排列。
关于ip地址分类,网上查查就好了,有具体ip网段范围。
这里简单解释一下:
A:0-127
B : 128-191
C : 192-223
D : 224-239
E : 240-255
最后输出形式
A:[50.1.1.1,117.1.1.2]
C:[192.168.1.1,202.101.1.1]
E:[245.210.1.2]
所以这题关键有两点:
排序
分类
排序
排序的思路是按字符串排序。肯定有人疑惑了50.1.1.1,117.1.1.2按字符串排序的话那前面一个比后面大,而实际上是后一个大。怎么办呢╮(╯▽╰)╭
这里参考很多对ip排序的,方法是对ip地址在前补零,再截取后3位