第六周

然后就是本周的学习内容捏:
二分查找:
public static int binarySearch(int[] array, int key) {
int left = 0;
int rigth = array.length - 1;
while (left <= rigth) {
int mid = (left + rigth) / 2;
if (array[mid] < key) {
left = mid + 1; //从右侧区间继续找
}else if (array[mid] == key) {
return mid; //找到了
}else {
rigth = mid - 1; //从左侧区间继续找
}
}
return-1; //返回值 因为数组下标没有负数
}
public static void main(String[] args) {
int[] array = {12,24,3,8,6};
int index = binarySearch(array,8); //输入数组中你想要找的数
if (index == -1) {
System.out.println("没有你要找的关键字!");
}else {
System.out.println("找到了你要的关键字,下标是:"+index);
}
}
//-----------------------------------------------------------------------------------------------
数组的逆序:
public static void reverse(int[] array) {
int left = 0;
int right = array.length-1;
int tmp = 0;
while (left < right) {
tmp = array[left];
array[left] = array[right];
array[right] = tmp;
left++;
right--;
}
}
public static void main(String[] args) {
int[] array1 = {12,24,3,8,6};
System.out.println("逆置之前的数组:"+ Arrays.toString(array1));
reverse(array1);
System.out.println("逆置之后的数组:"+ Arrays.toString(array1));
}
//-------------------------------------------------------------------------------------------------
打印随机数:
package com.yau;
import java.util.ArrayList;
import java.util.Random;
public class Practice01 {
public static void main(String[] args) {
Random r = new Random();//创建一个随机数对象
int [] arr = new int [10];//创建一个长度为10的数组
ArrayList list = new ArrayList();//创建一个List集合
for(int i = 0; i < arr.length; i++) {
arr[i] = r.nextInt(100);//把获取到的1-100以内的随机数放到数组里 面
if(arr[i] > 10) {
list.add(arr[i]);//把大于十的数添加到集合里
}
}
System.out.println(list);//读取集合中的数
}
}
浙公网安备 33010602011771号