java 在排序数组上实现线性搜索
java implementation of the linear search on a sorted array
我正在尝试实现 java 代码来测试排序数组的线性搜索,这是我的代码
public class ArrayTest {
public static void main(String [] args) {
int []x= {12,8,6,23,6,5,17,20,9};
int y =linearSearch(x,23);
}
public static int linearSearch(int []ar,int value) {
int searchedIndex=-1;
for(int i=0;i<ar.length;i++) {
if (ar[i]==value) {
searchedIndex=i;
break;
}
}
return searchedIndex ;
}
}
问题是这不会生成任何输出,也不会生成任何错误。谁能解释一下这是什么原因。
像这样:
import java.util.Arrays;
public class ArrayTest {
public static void main(String[] args) {
int[] x = {12, 8, 6, 23, 6, 5, 17, 20, 9};
// Arrays.sort(x);
int y = linearSearch(x, 23);
System.out.println("" + y);
// int z = Arrays.binarySearch(x, 23);
// System.out.println("" + z);
}
public static int linearSearch(int[] ar, int value) {
for (int i = 0; i < ar.length; i++) {
if (ar[i] == value) {
return i;
}
}
return -1;
}
}
请注意,注释掉的行适用于您是否真的想要排序的数组而不是未排序的数组
为了向输出打印一些东西,你必须使用 System.out.println() function.The 答案返回给变量 y.Just 将变量打印到控制台 output.Moreover, 数组不是 sorted.But, 这对它没有任何问题。
我正在尝试实现 java 代码来测试排序数组的线性搜索,这是我的代码
public class ArrayTest {
public static void main(String [] args) {
int []x= {12,8,6,23,6,5,17,20,9};
int y =linearSearch(x,23);
}
public static int linearSearch(int []ar,int value) {
int searchedIndex=-1;
for(int i=0;i<ar.length;i++) {
if (ar[i]==value) {
searchedIndex=i;
break;
}
}
return searchedIndex ;
}
}
问题是这不会生成任何输出,也不会生成任何错误。谁能解释一下这是什么原因。
像这样:
import java.util.Arrays;
public class ArrayTest {
public static void main(String[] args) {
int[] x = {12, 8, 6, 23, 6, 5, 17, 20, 9};
// Arrays.sort(x);
int y = linearSearch(x, 23);
System.out.println("" + y);
// int z = Arrays.binarySearch(x, 23);
// System.out.println("" + z);
}
public static int linearSearch(int[] ar, int value) {
for (int i = 0; i < ar.length; i++) {
if (ar[i] == value) {
return i;
}
}
return -1;
}
}
请注意,注释掉的行适用于您是否真的想要排序的数组而不是未排序的数组
为了向输出打印一些东西,你必须使用 System.out.println() function.The 答案返回给变量 y.Just 将变量打印到控制台 output.Moreover, 数组不是 sorted.But, 这对它没有任何问题。