`
_jia_shun
  • 浏览: 27207 次
  • 性别: Icon_minigender_1
  • 来自: 安徽
社区版块
存档分类
最新评论

C++大学基础教程_7_7采用线性查找法查找数组

 
阅读更多
//_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基础教程_清华大学

    本教程“MATLAB7_0基础教程_清华大学”旨在帮助初学者掌握MATLAB 7.0的基本操作和核心功能,从而能够熟练运用此工具进行各种计算任务。 首先,MATLAB 7.0相较于之前的版本,引入了诸多新特性和改进,如更好的用户...

    cpp.rar_数组应用

    3. **查找**:数组的线性查找是最基本的查找方法,用于找到特定元素的位置。此外,二分查找(适用于已排序数组)能显著提高查找效率。 4. **插入和删除**:虽然原生的C++数组不支持动态增删元素,但可以通过创建新...

    C++数据结构折半查找法(二分查找)

    这是因为每次操作都把问题规模减半,因此比线性查找(O(n))效率高得多。然而,它要求数据必须是有序的,这限制了其在某些场景中的应用,比如在无序数据结构中就不适用。 **五、扩展应用** 二分查找法在实际应用中...

    c++shujujiegou.rar_readyv5

    这些操作的效率很大程度上取决于算法的选择,比如数组的索引查找通常比链表的遍历查找快,而二分查找比线性查找更高效。 C++函数是代码重用和模块化设计的关键。函数可以接受参数,执行特定任务,并可能返回结果。...

    钱能- c++程序设计教程习题答案

    在《钱能-C++程序设计教程》中,读者可以学习到C++的基础语法,如变量、常量、数据类型、运算符、流程控制(如if语句、switch语句、循环结构for、while、do-while)、函数的定义与调用、数组、指针等基本概念。...

    《C++》电子教程ppt

    《C++》电子教程PPT提供了全面而深入的C++学习资源,旨在帮助学习者更加高效、直观地掌握这门编程语言。C++是一种中级语言,结合了过程化编程和面向对象编程的特点,广泛应用于系统软件、应用软件、游戏开发、驱动...

    C++基础教程.zip

    总的来说,这个C++基础教程将引导你逐步掌握这门语言的基本要素,同时引入数据结构和算法的基础知识,为后续的进阶学习打下坚实基础。无论你是初学者还是有经验的程序员,都能从中受益。记得,实践是最好的老师,...

    经典c++数据结构教程

    此外,本教程还可能涵盖了动态规划、贪心算法、回溯法等高级算法,以及如何使用C++模板、STL容器、迭代器等特性来优化数据结构的实现。学习这个教程,你将能够更好地理解和利用C++的强大功能,解决实际编程中的数据...

    传智播客扫地僧视频讲义源码

    本教程共分为5个部分,第一部分是C语言提高部分,第二部分为C++基础部分,第三部分为C++进阶部分,第四部分为C、C++及数据结构基础部分,第五部分为C_C++与设计模式基础,内容非常详细. 第一部分 C语言提高部分目录...

    数据结构与算法基础课程 C语言C++程序语言设计教程8_1集合与查找(静态查找、哈希、二叉排序树、平衡二叉树)共28页.pptx

    ### 数据结构与算法基础课程——第八章:集合与查找 #### 一、集合 - **集合的定义**:集合是一种不包含重复元素的数据结构。在数学中,集合是一些特定对象的无序组合。 - **集合上的基本运算**: - **元素的增删...

    c++大学教程5th课后练习代码

    《C++大学教程5th课后练习代码》是学习C++编程的重要参考资料,它包含了大量针对C++基础知识和高级特性的实践题目。这份资源旨在帮助学生深入理解和掌握C++语言,通过解决实际问题来巩固课堂所学知识。下面将详细...

    每天学点C++(C++实例教程:教程+源码)常用查找算法.zip

    1. **线性查找**(Linear Search):这是最基础的查找方法,遍历数组或集合中的每个元素,直到找到目标或者遍历完所有元素。线性查找的时间复杂度为O(n),其中n是集合大小。虽然效率不高,但它的实现简单,适用于小...

    《C++程序设计实践教程》(任志鸿版)第14章实验结果.docx

    - **矩阵概念**:矩阵是线性代数中的基本概念,由一系列数字或变量构成的矩形数组。 - **指针与数组**:在C++中,数组名实际上是指向数组第一个元素的指针。 - **内存管理**:C++中需要手动管理内存,特别是动态...

    程序设计基础 C语言程序设计 C语言入门教程 第7章 数组 共48页.pptx

    \n\n**一维数组的定义和引用**\n一维数组可以被视为线性数据结构,其定义格式通常为:`类型说明符 数组名[常量表达式];`例如,`int a[10];`表示定义了一个包含10个整数元素的数组。数组的下标通常从0开始,因此`a[0]...

    C++大学教程,一本适合初学者的入门教材(part2)

    4.8 查找数组:线性查找与折半查找 4.9 多下标数组 4.10 有关对象的思考:确定类的行为 小结 术语 自测练习 自测练习答案 练习 递归练习 第5章 指针与字符串 5.1 简介 5.2 指针变量的声明与初始化 5.3 指针...

    C++大学教程,一本适合初学者的入门教材(part1)

    4.8 查找数组:线性查找与折半查找 4.9 多下标数组 4.10 有关对象的思考:确定类的行为 小结 术语 自测练习 自测练习答案 练习 递归练习 第5章 指针与字符串 5.1 简介 5.2 指针变量的声明与初始化 5.3 指针...

    传智播客C++第五期第一阶段(C_C++_数据结构)

    - **数组**:在C/C++中,数组是最基本的线性结构之一。通过索引访问数组元素非常高效。 - **链表**:链表是一种动态数据结构,每个元素包含指向下一个元素的指针。适用于频繁插入、删除操作。 #### 树形结构 - **...

    信息学奥赛培训教程C++版.doc

    1. **C++基础** - C++概述:C++是C语言的增强版,支持面向对象编程,具有高效、灵活和强大的特性。 - 基本语法:包括变量声明、运算符、控制结构(如if语句、循环)、函数的定义与调用等。 - 类与对象:理解类...

    用C++语言描述的数据结构教程,清华大学严蔚敏,非常好的教程,有很好的参考价值

    在本教程中,我们将深入探讨严蔚敏教授在清华大学讲授的《用C++语言描述的数据结构》教程。这是一份极具价值的教学资料,对于学习者来说,无论是初学者还是有一定经验的开发者,都能从中受益匪浅。 首先,我们要...

    AlgorithmTutor.Com的程序代码_C++_Java_下载.zip

    - **线性查找**:最基础的查找方式,顺序遍历数组直到找到目标值或遍历结束。 - **二分查找**:适用于已排序的数组,每次将搜索范围减半,效率高但要求数据有序。 - **哈希查找**:通过哈希函数快速定位数据,...

Global site tag (gtag.js) - Google Analytics