gpt4 book ai didi

c++ - 如何使用 STL 将数组转换为 vector

转载 作者:行者123 更新时间:2023-11-30 00:36:38 25 4
gpt4 key购买 nike

这段代码是一个使用数组的线性搜索程序。出于好奇,我想知道如何使用 STL vector 代替数组来重写这段代码,但仍然具有相同的输出。

#include <iostream>
#include <string>
using namespace std;

template <typename T>
int linearSearch(T list[], int key, int arraySize)
{
for (int i = 0; i < arraySize; i++)
{
if (key == list[i])
return i;
}

return -1;
}

int main()
{
int intArray[] =
{
1, 2, 3, 4, 8, 15, 23, 31
};
cout << "linearSearch(intArray, 3, 8) is " << linearSearch(intArray, 3, 8) << endl;
cout << "linearSearch(intArray, 10, 8) is " << linearSearch(intArray, 10, 8) << endl;

return 0;
}

最佳答案

您可以通过更改参数类型和 main 来实现。

#include <iostream>
#include <string>
#include <vector>
using namespace std;

template <typename T>
int linearSearch(vector<T> list, int key)
{
for (size_t i = 0; i < list.size(); i++)
{
if (key == list[i])
return i;
}

return -1;
}

int main()
{
int intArray[] =
{
1, 2, 3, 4, 8, 15, 23, 31
};
vector<int> list(intArray, intArray+8);

cout << "linearSearch(list, 3,) is " << linearSearch(list, 3) << endl;
cout << "linearSearch(list, 10) is " << linearSearch(list, 10) << endl;

return 0;
}

关于c++ - 如何使用 STL 将数组转换为 vector ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15578391/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com