@MarkYin Involved.It's useless method.
re: 一个C++的疑问[未登录] Uo 2008-10-01 14:12
if(c=(a-b)) 应该改为if(c==(a-b))
建议博主学几年c再来学cpp
算法导论给出的算法复杂度精确计算应为nlgn+2*n 额外辅助空间为o(n)
上面那个算法空间复杂度o(1),算法复杂度精确为nlgn+n
首先nlogn的快排
其次设一个首指针head 设一个尾指针tail
while(head!=tail)
{
if(*head+*tail < num) head++;
elseif(*head+*tail>num) tail--;
else break;
}
if (head == tail)std::cout<<"Not found!";
else
std::cout<<*head<<" "<<*tail<<std::endl;
复杂度是o(nlogn+n)=o(nlogn)