void QuickSort(int *pData, int left, int right) { int i, j; int middle, iTemp; i = left; j = right; middle = pData[(left + right) / 2]; //求中间值 do { while ((pData[i] < middle) && (i middl e) && (j > left)) //从右扫描小于中值的数 j--; if (i <= j) //找到
使用了两种算法对ip地址进行排序,并测试了两种算法的时间。一种是将ip地址转化成二进制形式,然后用sort函数,和重新定义的比较函数进行排序,一种是分割ip地址为四个部分,分别排序,每次对一个地址位进行排序并存入字典,然后再排序。知道四个部分排序完毕,经测试第二种算法比第一种算法运算的时间效率至少快一个数量级: sorted the ip not used BINARY consumed 0.010999917984 s! sorted the ip used BINARY consumed