- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
qsort 实现的一种方式如下:
void quick_sort(int *a, int n) {
if (n < 2)
return;
int p=a[n / 2];
int *l = a;
int *r = a + n - 1;
while (l <= r){
if (*l <= p) { // *l < p WORK WELL, BUT LIKE THIS *l <= p CANNOT GET IT .
l++;
continue;
}
if (*r > p) {
r--;
continue;
}
int t = *l;
*l++ = *r;
*r-- = t;
}
quick_sort(a, r - a + 1);
quick_sort(l, a + n -l);
}
看来,如果(*l < p)
当值等于 p
时,条件将左右交换但是,只需使条件等于 p
,所以它会忽略相等的值。为什么要*l
不能等于 p
?
最佳答案
正如@BLUEPIXY 所暗示的:“考虑所有元素具有相同值的情况。”
下面将简单地增加l
直到刚好超过r
。 while 循环将在 不更改 r
的情况下退出。
while (l <= r){
if (*l <= p) { // *l < p WORK WELL, BUT LIKE THIS *l <= p CANNOT GET IT .
l++;
continue;
}
...
}
然后调用下面的,这与quick_sort(a, n)
的父调用相同——无限递归。
// int *r = a + n - 1;
// r - a + 1 is the same as (a + n - 1) - a + 1 the same as n
quick_sort(a, r - a + 1);
关于c - qsort,比较中间值,为什么不能相等?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20799811/
我是 Javascript 的新手。由于一些遗留系统,目前我正在将一些 ES6 代码转换回 ES5 代码。我转换了以下代码: $row.find('.gridCellDetailAction') .
这是我的父类,它有 trigger 方法,即 public 方法: class BaseEffect { //properties and contructor... //other
我正在关注构建你的第一个区 block 链教程 (https://www.youtube.com/watch?v=coQ5dg8wM2o&t=494s)。 我的 index.html 中有以下内容:
我是一个使用 ScrollMagic 的菜鸟,并尝试通过复制 ScrollMagic 的示例之一来学习。 http://scrollmagic.io/examples/advanced/advance
需要帮助调试一小段脚本。 我使用“masonry”插件以平铺方式排列多个 div。该脚本似乎工作正常,除了我收到错误 jQuery (intermediate value).imagesLoaded
我使用 jQuery Autosize 插件: http://www.jacklmoore.com/autosize/ 您可以在此处看到脚本本身: http://www.jacklmoore.com/
我必须遵循以下关系: class Course true, :id => false do |t| t.integer :user_id t.integer :course_id t.i
我的路线是这样的 import express from 'express' import mysql from 'mysql2' import { dbusername } from '../con
我正在尝试使用 Chart Js 库生成圆环图,结果抛出错误 Uncaught TypeError: (intermediate value).Doughnut is not a function。我
我在一个名为 StructureWindowComponent 的组件中实现事件处理,并且在 LeggerStructureWindowComponent 中也有一个覆盖它。 在基类(Structur
问题:我想将使用 xlsx 的条件格式 icon_set 应用于列,但没有获得正确值的正确箭头 这是我想要的输出: 这是我当前的输出: 这是我的代码: writer.sheets[sheet].con
这是我的 webpack.config.js "use strict"; var webpack = require('webpack') module.exports = { entry:
请帮助我。当我在 ASP.NET MVC 中使用 jQuery 时出现错误。 Uncaught TypeError: ((x.event.special[i.origType] || (interme
我是一名优秀的程序员,十分优秀!