急求!!!在C++中,如何查找一个结构体数组中的元素并返回其下标?

这样的结构体格式:structstu{intm;doublen;};我定义的结构体是structstuc[10]={1,1.5,10,10.5,2,2.5,20,20.5... 这样的结构体格式:
struct stu
{
int m; double n;
};
我定义的结构体是
struct stu c[10]={1,1.5,10,10.5,2,2.5,20,20.5,3,3.5,30,30.5,4,4.5,40,40.5,5,5.5,50,50.5};

怎么调用如下的模板函数来查找,比如10和10.5?
template <typename ArrType4,typename ArrType5>
int find(ArrType4 array3,ArrType5 element)
{
//查找某元素,返回其下标
int i;
for(i=0;i<length;i++)
if(array3[i]==element) break;
return i;
}
还是说我的函数模板写的也有问题,要改改?
求教!!!!
展开
 我来答
风若远去何人留
2013-03-21 · 知道合伙人互联网行家
风若远去何人留
知道合伙人互联网行家
采纳数:20412 获赞数:450132
专业C/C++软件开发

向TA提问 私信TA
展开全部
一定要用模板吗?
对于结构体元素查找,可能会用到根据其中几个元素来比较,或者所有元素来比较
所以最好可以专门写函数来查找
比如
int find(struct stu *array, int value)
{
int i;
for(i=0;i<length;i++)//这个length可以通过全局变量 也可以改成从参数传过来
if(array[i].m == value) break;
return i;
}
这个是查找m的
如果对于结构体查找的元素是固定的,比如值查找m,或者只有当所有元素值相等时才算找到
可以重载操作符==
追问
一定要用模板呢π_π。。。有啥办法不。。。
追答
重载操作符==
光点科技
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件... 点击进入详情页
本回答由光点科技提供
chenji9064
2013-03-22
知道答主
回答量:31
采纳率:0%
帮助的人:11.1万
展开全部
“我定义的结构体是
struct stu c[10]={1,1.5,10,10.5,2,2.5,20,20.5,3,3.5,30,30.5,4,4.5,40,40.5,5,5.5,50,50.5};”
定义有问题,结果会是才c[0]={1,1.5},没了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式