小编Kea*_*ean的帖子

quicksort可以与多个阵列一起使用吗?

我在C中有一个高性能,无等待的向量实现,允许我线性索引数组,但是使用多个数组实现.现在我需要对这个向量进行排序.显然我不能使用qsort()标准函数,因为数组不是单个内存块.

虽然没有这样实现,但假设60个槽位向量被定义为:

struct vector {
  int *buckets[4];
};

struct vector v;
v.buckets[0] = calloc(4, sizeof (int));
v.buckets[1] = calloc(8, sizeof (int));
v.buckets[2] = calloc(16, sizeof (int));
v.buckets[3] = calloc(32, sizeof (int));
Run Code Online (Sandbox Code Playgroud)

我有一个简单的内联函数,可以将给定的索引值调整为0到59(例如,getval(8)将返回buckets[1][4]getval(9)返回buckets[1][5]等).

因此,虽然矢量可以线性索引,但它不是线性存储的.可以使用quicksort来对这个向量进行排序吗?如果没有,我应该看看任何其他排序算法?

c arrays sorting

3
推荐指数
1
解决办法
335
查看次数

标签 统计

arrays ×1

c ×1

sorting ×1