求一个无序数组中第k小的数字(二)

2014-11-24 01:43:23 · 作者: · 浏览: 37
i1– )
{
maxNum[i1] = maxNum[i1-1];
}
maxNum[j] = src[i];
break;
}
}
}
cout << endl << “第” << k << “大的数字为:” << maxNum[k-1] << endl;
return 0;
}
分析:算法对n个数字只访问一次,此部分的时间复杂度为O(n);但每访问一次,须与k个数字分别比较,所以总的时间渐复杂度为O(n*k)