顺序查找算法:
import java.util.Arrays;
public class SequenSearch{
public static void main(String[] args) {
String[] names={"lilei","hanmeimei","lily","lucy"};
String name="lily";
int idx=sequenSearch(names,name);
if(idx==-1){
System.out.println("没有找到");
}else{
System.out.println(idx);
}
}
public static int sequenSearch(String[] names, String name) {
for(int i= 0;i<names.length;i++){
if(name.equals(names[i])){
return i;
}
}
return -1;
}
}
运行结果截图:
二分查找算法:
import java.util.Arrays;
public class BinarySearch{
public static void main(String[] args) {
int[] nums={30,40,60,70,90,100};
int idx=binarySearch(nums,60);
if(idx==-1){
System.out.println("没有找到");
}else{
System.out.println("数字的位置是:"+idx);
}
}
public static int binarySearch(int[] nums,int num){
int low = 0;
int high = nums.length-1;
while(low<=high&&low<=nums.length-1&&high<=nums.length-1){
int mid = (high+low)/2;
if(num==nums[mid]){
return mid;
}
else if(num<nums[mid]){
high = mid-1;
}
else if(num>nums[mid]){
low = mid+1;
}
}
return -1;
}
}
运行结果截图:
交换算法:
import java.util.Arrays;
public class ChangeSeats{
public static void main(String[] args) {
String[] names={"lily","lucy","hanmeimei","lilei"};
System.out.println("交换前:");
System.out.println(Arrays.toString(names));
reverseArr(names);
System.out.println("交换后:");
System.out.println(Arrays.toString(names));
}
public static void reverseArr(String[] names){
for(int i=0;i<names.length/2;i++){
String temp=names[i];
names[i]=names[names.length-1-i];
names[names.length-1-i]=temp;
}
}
}
运行结果截图: