顺序查找示例

非常简单

示例1:在成绩中查询分数是100的第一个分数
示例2:在学生中查询分数是100的第一个学生

存储结构可以是顺序表,也可以是链表。

逐个比较查询,如果找到,返回数据或者索引,如果到最后也没有找到,返回null

可以是在顺序表中,也可以是在链表中

在各个节点查找概率相同情况下,默认查询长度为一半长度,所以时间复杂度是T(n) = O(n);
--------------------- 
 

package com.bjsxt.ds.search;
/**
 * 在成绩中查询分数是100的第一个分数
 * 
 * T(n) = O(n)
 * S(n) = O(1)
 * @author Administrator
 *
 */
public class TestSearch {
	public static void main(String[] args) {
		//定义一组分数
		int [] scoreArr = {89,45,78,45,100,98,86,100,65};
		int score = 100;
		//进行查收
		int index = search(scoreArr,score);
		//输出结果
		if(index == -1){
			System.out.println("没有找到");
		}else{
			 System.out.println("找到,索引是:"+index);
		}
	}
	
	public static int search(int []  scoreArr,int score){
		int index = -1;//默认没有找到
		for(int i= 0;i<scoreArr.length;i++){
			if(scoreArr[i] == score){
				index = i;
				break;
			}
		}
		return index;
	}
}

猜你喜欢

转载自blog.csdn.net/shujuelin/article/details/86507132
今日推荐