How to sort ip address in ascending order

后端 未结 9 1819
自闭症患者
自闭症患者 2020-12-16 02:32

Is there any method to sort this? Or do I just need to split it and use a loop to compare? Input

123.4.245.23
104.244.253.29
1.198.3.93
32.183.93.40
104.30.2         


        
9条回答
  •  失恋的感觉
    2020-12-16 03:31

    public class IpSort {  
        public static void main(String[] args) {  
            // TODO Auto-generated method stub  
            String[] arr = {"192.168.1.1",  
                "191.122.123.112",  
                "192.161.1.1",  
                "191.122.123.1",  
                "123.24.5.78",  
                "121.24.5.78",  
                "123.24.4.78",  
                "123.2.5.78",  
                "192.1.1.1",  
                "125.45.67.89",  
                "1.1.1.1",  
                "3.4.5.6",  
                "2.2.2.2",  
                "6.6.6.7",  
                "155.155.23.0"};  
            String tmp;  
            for(int i=0;i Integer.parseInt(instr2[0]))  
                               {  
                                   tmp=arr[j-1];  
                                   arr[j-1]=arr[j];  
                                   arr[j]=tmp;  
                               }else if(Integer.parseInt(instr1[0]) == Integer.parseInt(instr2[0])  
                             && Integer.parseInt(instr1[1]) > Integer.parseInt(instr2[1]) )  
                               {  
                                    tmp=arr[j-1];  
                                    arr[j-1]=arr[j];  
                                    arr[j]=tmp;  
                               } else if(Integer.parseInt(instr1[0]) == Integer.parseInt(instr2[0])  
                             && Integer.parseInt(instr1[1]) == Integer.parseInt(instr2[1])  
                             && Integer.parseInt(instr1[2]) > Integer.parseInt(instr2[2]) )  
                               {  
                                    tmp=arr[j-1];  
                                    arr[j-1]=arr[j];  
                                    arr[j]=tmp;  
                               } else if(Integer.parseInt(instr1[0]) == Integer.parseInt(instr2[0])  
                             && Integer.parseInt(instr1[1]) == Integer.parseInt(instr2[1])  
                             && Integer.parseInt(instr1[2]) == Integer.parseInt(instr2[2])  
                             && Integer.parseInt(instr1[3]) > Integer.parseInt(instr2[3]) )  
                               {  
                                   tmp=arr[j-1];  
                                   arr[j-1]=arr[j];  
                                   arr[j]=tmp;  
                               }  
                      }  
    
            }  
            System.out.println("final sorted list of ips :\n");  
            for(int k=0;k

提交回复
热议问题