1、(开发,前端,测试必选)Create a function for searchOrinsertIndex(int[] sortedArray, int givenValue)
the first parameter is asorted array and duplicates in array
the second parameter is a random int
The function return the index if givenValue is found.If not,return the index where it would be if it were insert in order.
Example:
[1,2,3,4,5] , 6 ------------ 5
[1,2,3,4,5] , 1 ------------- 0
[1,2,7,10] , 8 ------------- 3
[1,2,7,10] , 7 ------------- 2
方法:折半查找,代码:
static int fun(int[] arr, int value) {
int begin = 0;
int end = arr.length - 1;
while (end - begin >= 1) {
int tempIndex = (begin + end) / 2;
if (value == arr[tempIndex])
return tempIndex;
if (value < arr[tempIndex]) {
end = tempIndex;
continue;
}
begin = tempIndex + 1;
}
if (begin < end)
return begin;
return end + 1;
}
2、(开发必选)有两个文本文件,其中分别存放全校学生的基本信息和考试成绩:
score.txt-------------------------- info.txt-----------------------------------------
学号 学科 成绩 学号 学院 专业 姓名
1001 数据结构 85 1001 计算机学院 软件工程 刘玥
1001 线性代数 89 1002 生物工程 服装设计 孙立
1002 数据库 100 ……
1002 面料工艺 30
……
写一段程序请打印出每个学院每个系里总分第一名的同学的名字,挂科的不算