首页 > 代码库 > 《数据结构、算法与应用》8.(顺序查找数组中第一个出现指定元素的位置)
《数据结构、算法与应用》8.(顺序查找数组中第一个出现指定元素的位置)
最近在读《数据结构、算法与应用》这本书,把书上的习题总结一下,用自己的方法来实现了这些题,可能在效率,编码等方面存在着很多的问题,也可能是错误的实现,如果大家在看这本书的时候有更优更好的方法来实现,还请大家多多留言交流多多指正,谢谢
8. 从左至右检查数组a[0:n-1]中的元素,以查找雨x相等的那些元素。如果找到一个元素与x相等,则函数返回x第一次出现所在的位置。如果在数组中没有找到这样的元素,函数则返回-1。
// // main.cpp // Test_08 // // Created by cc on 14-6-1. // Copyright (c) 2014年 cc. All rights reserved. // /* 8. 从左至右检查数组a[0:n-1]中的元素,以查找雨x相等的那些元素。如果找到一个元素与x相等,则函数返回x第一次出现所在的位置。 如果在数组中没有找到这样的元素,函数则返回-1. */ #include <iostream> using namespace std; template <class T> int sequentialSearch(T arr[], const T& x, int n); int main(int argc, const char* argv[]) { const int n = 10; int arr[n] = {0, 1, 2, 3, 4, 6, 5, 5, 6, 7}; int x = 5; int index = sequentialSearch(arr, x, n); cout << x << "第一次出现的位置:" << index << endl; x = 111; index = sequentialSearch(arr, x, n); cout << x << "第一次出现的位置:" << index << endl; return 0; } /** * @brief 按顺序查找数组中与x相等的元素,并返回其第一次出现的位置 * * @param arr[] 数组 * @param x 元素x * @param n 数组的大小 * * @return true: 初始化成功 false: 初始化失败 */ template <class T> int sequentialSearch(T arr[], const T& x, int n) { for (int i = 0; i < n; i++) { if (x == arr[i]) { return i; } } return -1; }
输出结果如下图:
本文由CC原创总结,如需转载请注明出处:http://blog.csdn.net/oktears/article/details/27966399
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。