社区讨论
《快速排序》为什么写法一答案错误
学术版参与者 3已保存回复 6
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 6 条
- 当前快照
- 1 份
- 快照标识符
- @lpgdodww
- 此快照首次捕获于
- 2023/11/27 11:57 2 年前
- 此快照最后确认于
- 2023/11/27 16:05 2 年前
写法一:答案错误
CPPvoid binary_Search(int l,int r)
{
int k=l,q=r,s=(l+r)/2;
while(k<=q)
{
while(a[k]>a[s]) k++;
while(a[q]<a[s]) q--;
if(k<=q)
{
swap(a[k],a[q]);
k++; q--;
}
}
if(l<q) binary_Search(l,q);
if(r>k) binary_Search(k,r);
}
写法二:正确
CPPvoid binary_Search(int l,int r)
{
int k=l,q=r,s=a[(l+r)/2];
while(k<=q)
{
while(a[k]>s) k++;
while(a[q]<s) q--;
if(k<=q)
{
swap(a[k],a[q]);
k++; q--;
}
}
if(l<q) binary_Search(l,q);
if(r>k) binary_Search(k,r);
}
回复
共 6 条回复,欢迎继续交流。
正在加载回复...