数组中元素查找和find()函数
2015-01-24 20:40
477 查看
1、字符数组查找
2、整型数组元素查找
(1)最一般的查找方式,直接循环查找
(2)使用vector查找
直接使用int类型的数组只能返回数组里有没有该元素,所以若查找具体位置需要用vector,如:
#include <stdlib.h> #include <stdio.h> #include <math.h> #include <cstring> #include <algorithm> #include <iostream> using namespace std; int main() { string str; int n; char ch; cin>>str; getchar(); scanf("%c",&ch); cout<<str.find(ch)+1; return 0; }
2、整型数组元素查找
(1)最一般的查找方式,直接循环查找
(2)使用vector查找
#include <iostream> #include <vector> #include <cstdio> #include <algorithm> using namespace std; int main(){ int x,n; scanf("%d",&n); vector<int> v;//要查找的元素,类型要与vector<>类型一致 for(int i=0;i<n;i++) { scanf("%d",&x); v.push_back(x); } scanf("%d",&x); vector<int>::iterator iter=std::find(v.begin(),v.end(),x);//返回的是一个迭代器指针 if(iter==v.end()) cout<<-1; else //注意迭代器指针输出元素的方式和distance用法 cout<< distance(v.begin(), iter)+1 ; return 0; }
直接使用int类型的数组只能返回数组里有没有该元素,所以若查找具体位置需要用vector,如:
#include <iostream> #include <vector> #include <algorithm>//注意要包含该头文件 using namespace std; int main() { int nums[] = { 3, 1, 4, 1, 5, 9 }; int* result = find( nums , nums + 5,3 ); if( result == nums + 5 ) cout<< "Did not find any number matching " << endl; else cout<< "Found a matching number: " << *result << endl; return 0; }
相关文章推荐
- 实验9(1)程序填空:下列程序在数组中同时查找最大元素和最小元素的下标,分别存放在 main()函数的max 和 min 变量中。要求:根据运行结果分析程序和填空,并注释说明填充依据。
- MATLAB的数组查找函数find以及元胞数组
- 在一个char数组中查找指定的字符ch,函数名findchar
- 7.9 有15个数按大小的顺序存放在一个数组中,输入一个数,要求用拆半查找法找出该数是数组中第几个元素的值。(函数的方法)
- 字符串算法——查找有序数组旋转后最小值(有重复元素)(Find Minimum in Rotated Sorted Array II)
- 实验9 指针1 、程序填空:下列程序在数组中同时查找最大元素和最小元素的下标,分别存放在 main()函数的max 和 min 变量中。要求:根据运行结果分析程序和填空,并注释说明填充依
- 154.leetcode Find Minimum in Rotated Sorted Array II(hard)[排序数组 重复元素 二分查找]
- 实验九指针1、程序填空:下列程序在数组中同时查找最大元素和最小元素的下标,分别存放在 main()函数的max 和 min 变量中。要求:根据运行结果分析程序和填空,并注释说明填充依据。
- Problem M 在数组中查找指定元素 函数
- 关于查找数组中是否存在重复元素的方法总结(Find A Duplicate)
- 实验9 指针1 1、程序填空:下列程序在数组中同时查找最大元素和最小元素的下标,分别存放在 main()函数的max 和 min 变量中。要求:根据运行结果分析程序和填空,并注释说明填充依据。
- 字符串算法——查找有序数组旋转后的最小值(无重复元素)(Find Minimum in Rotated Sorted Array)
- 11-C#对数组中的元素进行查找,清除
- 寻求查找两组数组相同的元素的较好方法
- 使用泛型的 TArray 从动态数组中查找指定元素
- 在旋转后的有序数组中查找元素,要求O(logn)的时间复杂度
- 在JS的(字符串)数组中针对每个元素的内容进行查找和替换
- php 数组二分法查找函数代码
- 查找数组中是否含有任意三元素组成三角形的算法
- 二分查找binsearch: 在v[0]&lt;=v[1]&lt;=v[2]&lt;=......&lt;=v[n-1]中查找x,数组v的元素必须以升序排列