用C++实现IP地址的升序排序
时间: 2023-05-11 12:07:09 浏览: 106
以下是用C语言实现IP地址升序排序的代码:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_IP_NUM 100
int compare(const void *a, const void *b) {
return strcmp(*(char **)a, *(char **)b);
}
int main() {
char *ip_list[MAX_IP_NUM];
int ip_num = 0;
// 读取IP地址列表
char ip[16];
while (scanf("%s", ip) != EOF) {
ip_list[ip_num] = malloc(strlen(ip) + 1);
strcpy(ip_list[ip_num], ip);
ip_num++;
}
// 排序
qsort(ip_list, ip_num, sizeof(char *), compare);
// 输出排序结果
for (int i = 0; i < ip_num; i++) {
printf("%s\n", ip_list[i]);
free(ip_list[i]);
}
return 0;
}
输入IP地址列表,例如:
192.168.1.1
10.0.0.1
172.16.0.1
运行程序,输出排序结果:
10.0.0.1
172.16.0.1
192.168.1.1
希望能帮到你!