给一个有N个整数的数组S..和另一个整数X,判断S里有没有2个数的和为X,请设计成O(n*log2(n))的算法

思路:先从小到大排序,然后分别从头start到尾end的和判断下一步,如果大于X,尾部end--,如果小于X,头部start++

#include
  

void QuickSort(int S[],int start,int end)  //快速排序
{
	if(start=S[i]&&i=X)
		return false;
	int i=start,j=end;
	while(iX)&&i


你可能感兴趣的:(算法设计)