最近在读《数据结构、算法与应用》这本书,把书上的习题总结一下,用自己的方法来实现了这些题,可能在效率,编码等方面存在着很多的问题,也可能是错误的实现,如果大家在看这本书的时候有更优更好的方法来实现,还请大家多多留言交流多多指正,谢谢
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
《数据结构、算法与应用》8.(顺序查找数组中第一个出现指定元素的位置),布布扣,bubuko.com
时间: 2024-12-27 23:13:59