qsort中的无效指针算法
void pointer arithmetic in qsort
我正在尝试制作类似qsort的东西,但当我尝试与void*
一起使用时,总是会出错
void my_sort(void* base, size_t num, size_t size, int(*compare)(const void*, const void*))
{
size_t i, j;
const void *first, *second;
for (size_t i = 0; i < num*size; i+=size)
{
for (size_t j = size +i; j < num*size; j +=size)
{
first = base + i;
second = base + j;
if (compare(first,second)<0)
{
swap(base,i,j);
}
}
}
}
first = ((char*) base) + i;
second = ((char*)base) + j;
相关文章:
- 使用指针算法修改函数中的 2D 数组
- 通过指针算法计算数组长度
- 由于指针算法错误,代码在 memcpy 中崩溃
- 在 c++ 中使用指针算法
- 通过指针算法访问结构数据成员
- 使用字符** argv 时如何避免指针算法
- 通过指针算法调用结构的结构属性
- 是什么让这种易失性打破了结构的指针算法?
- 使用指针算法调用结构内的结构数组
- 指针算法:*p++ 和 (*p)++ 等等
- 指针算法是否适用于迭代器?
- 你不能在 void 指针上使用指针算法,那么 void 指针数组是如何工作的呢?
- 使用指针算法搜索 2D 数组
- 未检测到越界指针算法?
- 具有两个不同缓冲区的指针算法
- 指针算法符号
- 指针算法传播的"laundry"是吗?
- 这是类型转换还是某种指针算法
- 指针算法在 C++ 中不起作用
- C++11:模板 (TMP) 中的(递归)指针算法