3.15 数组的操作5基本查找

/*
需求:数组元素查找(查找指定元素第一次在数组中出现的索引)

分析:
	A:定义一个数组,并静态初始化。
	B:写一个功能实现
		遍历数组,依次获取数组中的每一个元素,和已知的数据进行比较
		如果相等,就返回当前的索引值。
*/
class ArrayTest5 {
	public static void main(String[] args) {
		// 定义一个数组,并静态初始化
		int[] arr = { 200, 250, 38, 888, 444 };

		// 需求:我要查找250在这个数组中第一次出现的索引
		int index = getIndex(arr, 250);
		System.out.println("250在数组中第一次出现的索引是:" + index);

		int index2 = getIndex2(arr, 250);
		System.out.println("250在数组中第一次出现的索引是:" + index2);

		int index3 = getIndex2(arr, 2500);
		System.out.println("2500在数组中第一次出现的索引是:" + index3);
	}

	/*
		需求:查找指定数据在数组中第一次出现的索引
		两个明确:
			返回值类型:int
			参数列表:int[] arr,int value
	*/
	public static int getIndex(int[] arr, int value) {
		// 遍历数组,依次获取数组中的每一个元素,和已知的数据进行比较
		for (int x = 0; x < arr.length; x++) {
			if (arr[x] == value) {
				// 如果相等,就返回当前的索引值。
				return x;
			}
		}

		// 目前的代码有一个小问题
		// 就是假如要查找的数据在数组中不存在,那就找不到,找不到,就对应的返回吗?
		// 所以报错。

		// 只要是判断,就可能是false,所以要细心。

		// 如果找不到数据,一般返回一个负数即可,而且是返回-1
		return -1;
	}

	public static int getIndex2(int[] arr, int value) {
		// 定义一个索引
		int index = -1;

		// 有就修改索引值
		for (int x = 0; x < arr.length; x++) {
			if (arr[x] == value) {
				index = x;
				break;
			}
		}

		// 返回index
		return index;
	}
}
时间: 2024-08-10 01:50:26

3.15 数组的操作5基本查找的相关文章

java基础之数组常用操作

常用的对数组进行的操作 1.求数组中最大值,最小值 思路:假设下标为0的元素是最大值,遍历数组,依次跟max进行比较,如果有元素比这个max还大,则把这个值赋给max.最小值同样 1 public class TestArray{ 2 public static void main(String[] args){ 3 int[] arr={23,45,234,576,34,87,34,12,67}; 4 int max=arr[0]; 5 int min=arr[0]; 6 for(int i=

算法系列15天速成——第六天 五大经典查找【下】

原文:算法系列15天速成--第六天 五大经典查找[下] 大家是否感觉到,树在数据结构中大行其道,什么领域都要沾一沾,碰一碰. 就拿我们前几天学过的排序就用到了堆和今天讲的”二叉排序树“,所以偏激的说,掌握的树你就是牛人了. 今天就聊聊这个”五大经典查找“中的最后一个”二叉排序树“. 1. 概念: <1> 其实很简单,若根节点有左子树,则左子树的所有节点都比根节点小. 若根节点有右子树,则右子树的所有节点都比根节点大. <2> 如图就是一个”二叉排序树“,然后对照概念一比较比较. 2

java学习第05天(数组常见操作、数组中的数组)

(4)数组常见操作 a.遍历取值 class ArrayDemo3 { public static void main(String[] args) { //System.out.println("Hello World!"); //格式1 /* 需要一个容器,但不明确容器的具体数据. */ //int[] arr = new int[8]; //格式2 /* 需要一个容器,储存一直的具体数据. */ //元素类型[] 数组名 = new 元素类型[](元素,元素,....); //i

js数组的操作

转载 js数组的操作 用 js有很久了,但都没有深究过js的数组形式.偶尔用用也就是简单的string.split(char).这段时间做的一个项目,用到数组的地方很多, 自以为js高手的自己居然无从下手,一下狠心,我学!呵呵.学了之后才知道,js数组的功能强大很,远比VB,C#强多了,大家慢慢看吧 1.数组的创建 var arrayObj = new Array(); //创建一个数组 var arrayObj = new Array([size]); //创建一个数组并指定长度,注意不是上限

顺序表操作补充(查找方法增加)

顺序表操作补充 二分查找 a.非递归方法实现二分查找 1 //[] 2 int BinarySearch(SeqList *pSeq, ElemType x) 3 { 4 assert(pSeq); 5 int left = 0; 6 int right = pSeq->size - 1; 7 while(left<=right) 8 { 9 int cur = left+(right-left)/2; 10 if(pSeq->array[cur] == x) 11 { 12 retur

js数组的操作。好难,自己学习下。

js数组的操作 1.数组的创建 var arrayObj = new Array(); //创建一个数组 var arrayObj = new Array([size]); //创建一个数组并指定长度,注意不是上限,是长度 var arrayObj = new Array([element0[, element1[, ...[, elementN]]]]); //创建一个数组并赋值 要说明的是,虽然第二种方法创建数组指定了长度,但实际上所有情况下数组都是变长的,也就是说即使指定了长度为5,仍然可

js 的数组怎么push一个对象. Js数组的操作push,pop,shift,unshift JavaScript使用push方法添加一个元素到数组末 JavaScript数组函数unshift、shift、pop、push使用

push()函数用于向当前数组的添加一个或多个元素,并返回新的数组长度.新的元素将会依次添加到数组的末尾. 该函数属于Array对象,所有主流浏览器均支持该函数. 语法 array.push( item1 [,items... ] )参数 参数 描述item1 任意类型添加到当前数组末尾处的元素.items 可选参数/任意类型要添加到当前数组末尾处的其他项,可以有多个.注意:如果添加的元素类型为数组类型(Array),仍然会被当作一个元素看待,只是这个元素是数组类型而已.如果要合并两个数组,请使

js数组的操作及数组与字符串的相互转化

数组与字符串的相互转化 <script type="text/javascript">var obj="new1abcdefg".replace(/(.)(?=[^$])/g,"$1,").split(",");       //字符串转化为数组 var obj2 = "new2abcdefg".split("");                              

js数组的操作 Full

js数组的操作 用 js有很久了,但都没有深究过js的数组形式.偶尔用用也就是简单的string.split(char).这段时间做的一个项目,用到数组的地方很多,自以为js高手的自己居然无从下手,一下狠心,我学!呵呵.学了之后才知道,js数组的功能强大很,远比VB,C#强多了,大家慢慢看吧 1.数组的创建 var arrayObj = new Array(); //创建一个数组 var arrayObj = new Array([size]); //创建一个数组并指定长度,注意不是上限,是长度