模板化线性搜索
Templated Linear Search
本文关键字:线性搜索 更新时间:2023-10-16
实现一个名为find的函数,它接受以下参数(按顺序):
要在数组中查找的对象任意类型的动态数组数组的大小这个函数应该在数组中查找指定的元素,并返回元素的索引位置。如果元素不存在,函数应该返回-1。
我的代码是:
template<typename t>
t find(t objectInArray, t *array, int arraySize)
{
array = new t[arraySize];
for(int index = 0; index < arraySize; index++){
if(array[index] == objectInArray){
cout << index;
return index;
}
}
return -1;
}
我在main中使用int运行这段代码,没有模板,它工作得很好。我真的很困惑我的代码出了什么问题。
不要重新分配指针。删除这一行
array = new t[arraySize];
你想返回的是一个索引。所以返回类型不应该是t
。返回一个整数类型。
边注:
你可能被你的老师或你的书告诉使用new
表达式创建动态数组。您可能已经在main函数中编写了一个。我必须指出,由于内存泄漏的危险,这违背了社区的一般建议,尽管学生通常没有选择。如果必须使用new
,请记住给它一个相应的delete
。
相关文章:
- 向量上的线性搜索
- 二叉搜索如何比线性搜索更快?
- C++(线性搜索和排序)
- C++线性搜索算法,确定数组中元素的数量
- 如何在 c++ 中线性搜索两个数组?
- 变量未在此范围内声明 数组线性搜索
- 如何在 c++ 中对两个向量进行线性搜索?
- 线性搜索 MPI(在其他进程中停止)
- SIMD 线性搜索比展开循环慢
- 是否可以显示需要线性搜索的时间才能找到您在程序中找到的密钥
- 如何在C 中解决线性搜索问题
- 这是哨兵线性搜索的错误方法吗?
- 数组中的线性搜索返回意外结果
- 在不进行线性搜索的情况下,在非常大的数组中找到比给定数字更小的数字
- C++线性搜索算法
- 线性搜索算法
- 关于修复对向量的线性搜索函数的调用的建议
- 链表中的线性搜索[语言:C++编译器:Dev Cpp 4.9.9.2]
- C++ 数组上的线性搜索算法
- 如何创建一个线性搜索算法比我的教科书提供的更容易