//_7_7_main.cpp //线性查找法用一个关键值与数组中的每一个值比较 #include <iostream> #include <cstdlib> #include <ctime> #include <iomanip> using namespace std; void linearSearch_1(const int [],int ,int);//线性查找函数 int linearSearch_2(const int [],int ,int); int main() { const int arraySize = 100; int a[arraySize]; srand((unsigned)time(NULL)); for(int i=0;i<arraySize;i++) a[i] = rand()%11 ;//产生0到10之间的数 cout << "要查找的数组为:" << endl; for(int j=0;j<arraySize;j++) { cout << setw(3) << a[j] ; if((j+1)%10 == 0) cout << endl; } cout << endl; int element = rand()%22;//保证查找到的可能性为50% cout << "search key is " << element << endl; int m = linearSearch_2(a,element,arraySize); if(m!=-1) linearSearch_1(a,element,arraySize); else cout << "Value no found" << endl; system("pause >> cout"); return 0; } void linearSearch_1(const int array[],int key,int sizeOfArray) { for(int i=0;i<sizeOfArray;i++) if(array[i] == key) { cout << "第" << i+1 << "个数与" << key << "相同" << endl; } } int linearSearch_2(const int array[],int key,int sizeOfArray) { for(int i=0;i<sizeOfArray;i++) if(array[i] == key) return i; return -1; }
先判断是否有一样的元素,再进一步写出结果
相关推荐
本教程“MATLAB7_0基础教程_清华大学”旨在帮助初学者掌握MATLAB 7.0的基本操作和核心功能,从而能够熟练运用此工具进行各种计算任务。 首先,MATLAB 7.0相较于之前的版本,引入了诸多新特性和改进,如更好的用户...
3. **查找**:数组的线性查找是最基本的查找方法,用于找到特定元素的位置。此外,二分查找(适用于已排序数组)能显著提高查找效率。 4. **插入和删除**:虽然原生的C++数组不支持动态增删元素,但可以通过创建新...
这是因为每次操作都把问题规模减半,因此比线性查找(O(n))效率高得多。然而,它要求数据必须是有序的,这限制了其在某些场景中的应用,比如在无序数据结构中就不适用。 **五、扩展应用** 二分查找法在实际应用中...
这些操作的效率很大程度上取决于算法的选择,比如数组的索引查找通常比链表的遍历查找快,而二分查找比线性查找更高效。 C++函数是代码重用和模块化设计的关键。函数可以接受参数,执行特定任务,并可能返回结果。...
在《钱能-C++程序设计教程》中,读者可以学习到C++的基础语法,如变量、常量、数据类型、运算符、流程控制(如if语句、switch语句、循环结构for、while、do-while)、函数的定义与调用、数组、指针等基本概念。...
《C++》电子教程PPT提供了全面而深入的C++学习资源,旨在帮助学习者更加高效、直观地掌握这门编程语言。C++是一种中级语言,结合了过程化编程和面向对象编程的特点,广泛应用于系统软件、应用软件、游戏开发、驱动...
总的来说,这个C++基础教程将引导你逐步掌握这门语言的基本要素,同时引入数据结构和算法的基础知识,为后续的进阶学习打下坚实基础。无论你是初学者还是有经验的程序员,都能从中受益。记得,实践是最好的老师,...
此外,本教程还可能涵盖了动态规划、贪心算法、回溯法等高级算法,以及如何使用C++模板、STL容器、迭代器等特性来优化数据结构的实现。学习这个教程,你将能够更好地理解和利用C++的强大功能,解决实际编程中的数据...
本教程共分为5个部分,第一部分是C语言提高部分,第二部分为C++基础部分,第三部分为C++进阶部分,第四部分为C、C++及数据结构基础部分,第五部分为C_C++与设计模式基础,内容非常详细. 第一部分 C语言提高部分目录...
### 数据结构与算法基础课程——第八章:集合与查找 #### 一、集合 - **集合的定义**:集合是一种不包含重复元素的数据结构。在数学中,集合是一些特定对象的无序组合。 - **集合上的基本运算**: - **元素的增删...
《C++大学教程5th课后练习代码》是学习C++编程的重要参考资料,它包含了大量针对C++基础知识和高级特性的实践题目。这份资源旨在帮助学生深入理解和掌握C++语言,通过解决实际问题来巩固课堂所学知识。下面将详细...
1. **线性查找**(Linear Search):这是最基础的查找方法,遍历数组或集合中的每个元素,直到找到目标或者遍历完所有元素。线性查找的时间复杂度为O(n),其中n是集合大小。虽然效率不高,但它的实现简单,适用于小...
- **矩阵概念**:矩阵是线性代数中的基本概念,由一系列数字或变量构成的矩形数组。 - **指针与数组**:在C++中,数组名实际上是指向数组第一个元素的指针。 - **内存管理**:C++中需要手动管理内存,特别是动态...
\n\n**一维数组的定义和引用**\n一维数组可以被视为线性数据结构,其定义格式通常为:`类型说明符 数组名[常量表达式];`例如,`int a[10];`表示定义了一个包含10个整数元素的数组。数组的下标通常从0开始,因此`a[0]...
4.8 查找数组:线性查找与折半查找 4.9 多下标数组 4.10 有关对象的思考:确定类的行为 小结 术语 自测练习 自测练习答案 练习 递归练习 第5章 指针与字符串 5.1 简介 5.2 指针变量的声明与初始化 5.3 指针...
4.8 查找数组:线性查找与折半查找 4.9 多下标数组 4.10 有关对象的思考:确定类的行为 小结 术语 自测练习 自测练习答案 练习 递归练习 第5章 指针与字符串 5.1 简介 5.2 指针变量的声明与初始化 5.3 指针...
- **数组**:在C/C++中,数组是最基本的线性结构之一。通过索引访问数组元素非常高效。 - **链表**:链表是一种动态数据结构,每个元素包含指向下一个元素的指针。适用于频繁插入、删除操作。 #### 树形结构 - **...
1. **C++基础** - C++概述:C++是C语言的增强版,支持面向对象编程,具有高效、灵活和强大的特性。 - 基本语法:包括变量声明、运算符、控制结构(如if语句、循环)、函数的定义与调用等。 - 类与对象:理解类...
在本教程中,我们将深入探讨严蔚敏教授在清华大学讲授的《用C++语言描述的数据结构》教程。这是一份极具价值的教学资料,对于学习者来说,无论是初学者还是有一定经验的开发者,都能从中受益匪浅。 首先,我们要...
- **线性查找**:最基础的查找方式,顺序遍历数组直到找到目标值或遍历结束。 - **二分查找**:适用于已排序的数组,每次将搜索范围减半,效率高但要求数据有序。 - **哈希查找**:通过哈希函数快速定位数据,...