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; }