【发布时间】:2014-06-18 03:49:46
【问题描述】:
在惯用的 C 方式中,可以使用两个参数以一种简单的方式实现快速排序:
void quicksort(int inputArray[], int numelems);
我们可以通过指针运算安全地为以后的细分(即通常所说的分区)使用两个参数:
//later on in our quicksort routine...
quicksort(inputArray+last+1, numelems-last-1);
事实上,我之前什至在 SO 上问过这个问题,因为当时我没有受过指针算术训练:见 Passing an array to a function with an odd format - “v+last+1”
基本上,是否可以在 python 中复制相同的行为,如果可以,如何复制?我注意到列表可以用方括号内的冒号(切片运算符)进行细分,但是切片运算符从那时起不再传递列表;也就是说,在这两种情况下,第一个元素(第 0 个索引)仍然相同。
【问题讨论】:
标签: python c arrays list pointers