c++在数组中查找元素并返回位置下标,统计某元素出现次数程序
2015-04-30 21:00
2871 查看
IDE是VS2013.
在数组中查找元素并返回位置下标,若找到元素则返回下标(多个相同元素,返回最后一个),没找到返回-1;
统计某元素出现次数程序,没出现返回0;
![](https://oscdn.geek-share.com/Uploads/Images/Content/202012/12/d9067c0ffbba22c6c94f4a13963d6a78)
下面用c++函数模板实现上面的程序。可以在int、float、double、char、string等类型数组里实现功能。
在数组中查找元素并返回位置下标,若找到元素则返回下标(多个相同元素,返回最后一个),没找到返回-1;
统计某元素出现次数程序,没出现返回0;
#include "stdafx.h" #include<iostream> using namespace std; int find(int ar[], int n, int element)//查找元素并返回位置下标,find(数组,长度,元素) { int i = 0; int index=-1;//原始下标,没找到元素返回-1 for (i = 0; i <n; i++) { if (element ==ar[i]) { index=i;//记录元素下标 } } return index;//返回下标 } int frequency(int ar[], int n, int element)//统计某元素出现次数(数组,长度,元素) { int i = 0; int count= 0;//出现次数 for (i = 0; i <n; i++) { if (element == ar[i]) { count++; } } return count; } int _tmain(int argc, _TCHAR* argv[]) { int a[6] = { 1, 2, 3, 4,5,5 }; int index = find(a, 6, 4);//下标,查找元素4的下标 int count= frequency(a, 6, 5);//次数,查找元素5出现的次数 cout <<index<< endl; cout << count<<endl; system("pause"); return 0; }运行结果:
下面用c++函数模板实现上面的程序。可以在int、float、double、char、string等类型数组里实现功能。
#include "stdafx.h" #include<iostream> using namespace std; template<typename T> int find(T ar[], int n, T element)//查找元素并返回位置下标,find(数组,长度,元素) { int i = 0; int index=-1;//原始下标,没找到元素返回-1 for (i = 0; i <n; i++) { if (element ==ar[i]) { index=i;//记录元素下标 } } return index;//返回下标 } template<typename T> int frequency(T ar[], int n,T element)//统计某元素出现次数,frequency(数组,长度,元素) { int i = 0; int count = 0;//出现次数 for (i = 0; i <n; i++) { if (element == ar[i]) { count++;//次数+1 } } return count; } int _tmain(int argc, _TCHAR* argv[]) { string s[6] = { "ab", "cd", "ef", "gh", "ij", "ij" }; int index = find<string>(s, 6,"cd");////下标,查找字符串"cd"的下标 int count = frequency<string>(s, 6, "ij");//次数,查找字符串"ij"出现的次数 cout << index<<endl; cout <<count<< endl; system("pause"); return 0; }运行结果:
相关文章推荐
- lastIndexOf() 找出指定元素出现的所有位置(返回的是下标数组)---lastIndexOf() 这个方法是倒叙查找,正序的是indexOf()
- 统计数组中元素出现的次数——Java小程序
- 在排序的数组中二分查找一个元素,返回在数组中它第一次出现的位置
- 对于一个有序数组,我们通常采用二分查找的方式来定位某一元素,请编写二分查找的算法,在数组中查找指定元素。 给定一个整数数组A及它的大小n,同时给定要查找的元素val,请返回它在数组中的位置(从0开始),若不存在该元素,返回-1。若该元素出现多次,请返回第一次出现的位置。
- JavaScript求一个数组中重复出现次数最多的元素及其下标位置示例
- 求一个数组重复出现次数最多的元素以及下标位置
- 如何在时间复杂度为O(n),空间复杂度为O(1)的条件下,统计数组中不同元素出现的次数
- 统计数组中各个元素出现的次数,并按照次数从大到小排序
- 找出数组中的一个元素出现次数大于数组长度的一半的元素,若不存在返回0
- 统计数组中不同元素出现的次数(时间复杂度O(n),空间复杂度o(1))
- 算法实验一:二分查找算法改进: 当搜索元素x不存在时,返回小于x的最大元素位置i和大于x的最小元素位置j. 当搜索元素在数组中时,i和j相同,均为x在数组中的位置。
- 快速查找数组中的某个元素并返回下标示例
- 实验9 指针1 1、程序填空:下列程序在数组中同时查找最大元素和最小元素的下标,分别存放在 main()函数的max 和 min 变量中。要求:根据运行结果分析程序和填空,并注释说明填充依据。
- 在数组 arr 中,查找值与 item 相等的元素出现的所有位置
- Array.prototype.reduce统计数组中各元素出现次数
- 统计数组中每个元素出现的次数
- 统计数组 arr 中值等于 item 的元素出现的次数
- 统计数组中不同元素出现的次数(时间复杂度O(n),空间复杂度o(1))
- indexOf() 如何判断一个元素在指定数组中是否存在? 找出指定元素出现的所有位置? indexOf()方法 是正序查找,lastIndexOf()是倒叙查找
- 顺序查找就是按照数组中的元素排列序号,从前往后一个一个查,如果找到则返回当前元素所在的下标