小编ner*_*god的帖子

二分查找函数,接受不同类型的数组

我想编写一个二分搜索函数,它将指向数组的指针作为输入并查找可搜索元素的索引。

uint8_t binary_search(uint8_t * array, uint8_t element);
Run Code Online (Sandbox Code Playgroud)

但我想传递给这个函数的数组有不同的类型(无符号8位,无符号16位,有符号8位等)

我正在考虑一种方法,可以将数组作为空指针传递,然后根据大小对其进行类型转换,但我无法找到正确的方法来实现它。

uint8_t binary_search(void * array, uint8_t element)
{
  if(sizeof(array[0] == 1)
  {
  }
  else if
  .
  .
  .
}

Run Code Online (Sandbox Code Playgroud)

最后一个选项是将多个数组传递给函数并再次根据大小进行选择,但我希望是否有更好的方法来处理这种情况。

任何帮助表示赞赏。谢谢!

c function binary-search

2
推荐指数
1
解决办法
81
查看次数

标签 统计

binary-search ×1

c ×1

function ×1