给定 N 个 IPv4 地址字符串(形如 A.B.C.D,每段为 0~255 的整数)。要求按地址的数值大小排序后,输出为“交叉顺序”:最小、最大、第二小、第二大、……。
关键做法:排序 + 双指针
(A,B,C,D),作为比较键。比较时先比 A,再比 B,再比 C,最后比 D,即按字典序升序,相当于 IP 的数值大小比较。(A,B,C,D, 原字符串) 排序(稳定性无要求)。l=0, r=n-1 交替取数:依次输出 sorted[l]、sorted[r]、sorted[l+1]、sorted[r-1]……直至两指针相交。IPv4 地址是一个由 4 个 0 到 255 之间的整数组成的字符串,形式为 A.B.C.D,其中 A、B、C 和 D 是 [0,255] 的整数。现在给定一组 IPv4 地址字符串,要求按照 IP 地址的数值顺序对它们进行交叉排序,即按照最小、最大、第 2 小、第 2 大、…、第 N 小、第 N 大的顺序交叉排序。
IP 地址的数值比较规则
1.先比较 A 的值。
2.如果 A 相同,则比较 B 的值。