创建函数模板实现求数组中的最小元素
2017-04-12 11:11
309 查看
创建函数模板实现求数组中的最小元素
创建一个函数模板实现求数组中的最小元素,在主函数将分别使用该模板求整形数组和double型数组中的最小元素并输出。
输入:
6 (整型数组中的元素个数)
8 3 4 1 6 9 (整型数组中的元素)
5 (双精度浮点数数组中的元素个数)
2.7 3.1 9.8 5.3 7.6 (双精度浮点数数组中的元素)
输出:
1
2.7
其中
创建一个函数模板实现求数组中的最小元素,在主函数将分别使用该模板求整形数组和double型数组中的最小元素并输出。
输入:
6 (整型数组中的元素个数)
8 3 4 1 6 9 (整型数组中的元素)
5 (双精度浮点数数组中的元素个数)
2.7 3.1 9.8 5.3 7.6 (双精度浮点数数组中的元素)
输出:
1
2.7
函数模板接口定义:
T Min(T *p, int len)
其中
p和
len都是用户传入的参数。
p是数组元素的起始地址;
len是数组的长度。
输入样例:
9 8 2 7 6 4 5 3 1 0 7 3.1 9.6 5.8 2.7 6.3 7.0 8.5
输出样例:
0 2.7
#include <iostream> using namespace std; // 你提交的代码将嵌入到这里 template <class T1,class T2> T1 Min(T1 *p,T2 len) { int j; T1 min=p[0]; for(j=0;j<len;j++) { if(p[j]<min) min=p[j]; } return min; } int main( ) { int n,m,*pn,i=0; cin>>n; pn=new int ; do{ cin>>pn[i]; i++; }while(i<n); double *pd; i=0; cin>>m; pd=new double[m]; do{ cin>>pd[i]; i++; }while(i<m); cout<<Min(pn,n)<<endl; cout<<Min(pd,m)<<endl; delete [ ] pn; delete [ ] pd; return 0; }
相关文章推荐
- C语言数组实现栈的基本操作,并利用O(1)求出栈中最小元素
- 程序员面试金典: 9.4树与图 4.3给定一个有序整数数组,元素各不相同且按升序排列,创建一颗高度最小的二叉查找树。
- 给定一个有序的数组,元素各不相同且按升序排列,编写一个算法,创建一棵高度最小的二叉查找树?
- 剑指offer 01-06解答思路以及代码(顺序数组找特定数字,替换空格字符,链表反转输出,重建二叉树,两个栈实现队列效果,旋转数组最小元素)
- 给定一个有序数组,元素各不相同且升序排列,创建一个高度最小的二叉查找树
- 【剑指Offer】旋转数组的最小元素——JavaScript实现
- 在逆转数组中寻找最小元素——Java实现
- 用指针实现把数组的最小元素与第一个元素交换
- 给定一个有序整数数组,元素各不相同且按照升序排列,编写一个算法,创建一个高度最小的二叉查找树
- Comparator 实现集合中元素的比较.输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这321323
- Java/Go实现——把正整数数组的元素拼成一个最小的数
- java实现把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。 例如{3,4,5,1,2}为{1,2,3,4,5}
- 程序员面试金典: 9.4树与图 4.3给定一个有序整数数组,元素各不相同且按升序排列,创建一颗高度最小的二叉查找树。 ---快速解法
- 【Java】给定一个有序整数数组,元素各不相同且按照升序排列,编写一个算法,创建一个高度最小的二叉查找树
- 从无序数组中获取最小的M个元素(小顶堆实现)
- 从无序数组中获取最小的M个元素(小顶堆实现)
- C语言 选择排序算法原理和实现 从数组中 找出最小的元素然后交换位置
- Ruby实现求数组内相邻元素的最大和-《编程珠玑》问题求解
- 0元素数组实现变长TLV数据结构
- [C,C++] - 妙用0元素数组实现大小可变结构体