首页 > 编程语言 >实现泛型算法的几个方法

实现泛型算法的几个方法

时间:2022-11-12 18:46:02浏览次数:42  
标签:return int element 算法 泛型 array first 方法 size

#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();
}

标签:return,int,element,算法,泛型,array,first,方法,size
From: https://www.cnblogs.com/yangpeiqi123/p/16884385.html

相关文章

  • 实验三:朴素贝叶斯算法实验
    【实验目的】理解朴素贝叶斯算法原理,掌握朴素贝叶斯算法框架。【实验内容】针对下表中的数据,编写python程序实现朴素贝叶斯算法(不使用sklearn包),对输入数据进行预测;熟悉s......
  • 构造方法(构造器 constructor)
    构造器用于对象的初始化,而不是创建对象!构造方法是负责初始化(装修),不是建房子构造器4个要点:构造器通过new关键字调用!!构造器虽然有返回值,但是不能定义返回值类型......
  • [C++] - GCC和LLVM对方法 warning: non-void function does not return a value [-Wre
    最近做一个C++开源项目发现一个奇怪问题,通过clang编译链接执行程序每到有一个就崩溃了,gcc下则没有此问题。后来通过调试,发现原因是bool返回的方法是没有return语句!问......
  • 实验三:朴素贝叶斯算法实验
    【实验目的】理解朴素贝叶斯算法原理,掌握朴素贝叶斯算法框架。【实验内容】针对下表中的数据,编写python程序实现朴素贝叶斯算法(不使用sklearn包),对输入数据进行预测;熟悉s......
  • 【Java Web】项目通用返回模块ServerResponse:枚举code状态码、泛型返回值、序列化注解
    一、枚举类编写ResponseCodepackagecom.boulderaitech.common;/***编写枚举类的步骤*(1)编写所需的变量*(2)编写枚举类构造方法*(3)编写枚举的值,调用构造方法,使......
  • 20. 数组去重方法
    1.使用ES6新增的set方法 2.双重for循环 3. sort排序后去重functionfn(arr){letnewArr=[]arr.sort((a,b)=>{returna-b})arr.f......
  • java实现Apriori算法——频繁项集的计算
    前言《数据挖掘》:用Apriori算法求特定支持度的频繁项集。算法本身不难,java萌新我却花费了一天的时间,特此记录。算法描述我们目的是求出项数为K的频繁项集即L(K)。Apriori算......
  • 打造快速阅读方法,让读书不再成为想做又觉得麻烦的事
    《麦肯锡精英高效阅读法》赤羽雄二不再浪费时间,给读书定一个固定阅读时间这个看似很简单的方法,实际上能够解决以往,读书读了一半,时间不够,无法在继续读下去的痛点。又或者......
  • 窗口滑动算法
    窗口滑动算法简介滑动窗口算法思想是非常重要的一种思想,可以用来解决数组,字符串的子元素问题。它可以将嵌套循环的问题,转换为单层循环问题,降低时间复杂度,提高效率。滑动......
  • 优解YJ460二维码扫描器添加后缀回车的方法
    第一步:扫描AddSuffix条码。 第二步:扫描AddCRSuffixAllSymbologies条码。  第三步:最后扫描Save条码。......