实现泛型算法的几个方法

#include<iostream>
#include<stdio.h>
#include<vector>
#include<string>
//Find a element in container function//
//You can use the function to find a element in a contianer//
//First way to finish the function//
//template<typename element>
//element* find(element* first, int size, const element& value)
//{
// if (size<0&&! first)
// {
// exit(0);
// }
// for (int i = 0; i < size; ++i)
// {
// if (first[i] == value)
// {
// return &first[i];
// }
//
// }
// return 0;
//}
//Second way to finish the function//
//template<typename element>
//element* find(element *array, int size, const element& value)
//{
// if (size < 0 && !array)
// exit(0);
// for (int i = 0; i < size; ++i,++array)
// {
// if (*array == value)
// {
// return array;
// }
//
// }
// return 0;
//}
//third way to finish this function//
//template<typename element>
//element* find(element *array, int size, const element& value)
//{
// if (size < 0 && !array)
// exit(0);
// for (int i = 0; i < size; ++i)
// {
// if (*(array+i) == value)
// {
// return array+i;
// }
//
// }
// return 0;
//}
//Let's exchange parameter in this function How to finish the function//
template<typename element>
element* find(element* first, const element* const last, const element& value)
{
if (!first&&!last)
exit(0);
for (; first != last ; ++first)
{
if (*first == value)
{
return first;
}

}
return 0;
}
int main()
{
//int array[10] = { 14,1,2,4,5,12,3,41,41,32 };
//int* ptr_array = nullptr;
//ptr_array = find(array, array-1, 3);
std::vector<int> num;
num = { array,array + 10 };
std::cout << *find(array,array+5,array[4]) << std::endl;
std::cin.get();
}

posted on 2022-11-12 18:30  yangpeiqi  阅读(15)  评论(0编辑  收藏  举报