Java数组算法
2021-03-06 05:28
标签:就是 rgba span bool 思考 目标 数组 二分法 new 数组的复制 注意:此复制不是赋值,是数组元素的复制 数组的反转 什么是反转?就是将数组元素倒过来排列 思考:就是将最后一个元素排在第一位,将倒数第二个元素排在第二位,也就是要交换元素,那如何交换两个元素? 可以找第三个杯子C,先将B杯子里面的水倒入C中,B杯子已经空了,再将A杯子里面的水倒入B杯子,最后将C杯子里面的水倒入A杯子 数组的查找 线性查找 二分法查找 前提:所要查找的数组必须有序 Java数组算法 标签:就是 rgba span bool 思考 目标 数组 二分法 new 原文地址:https://www.cnblogs.com/king2/p/14310480.htmlpublic class Hello {
public static void main(String[] args){
String[] arr = new String[]{"jj","DD","MM","BB","GG","AA"}; //源数组
String[] arr1 = new String[arr.length]; //目标数组
//数组的复制(区别于数组变量的赋值arr1=arr)
for(int i=0;i
假如有两个杯子A和B,里面都装有水,如何将A杯、B杯子里面的水交换呢?//数组的反转
public class Hello {
public static void main(String[] args){
String[] arr = new String[]{"jj","DD","MM","BB","GG","AA"};
for (int i=0;i//注意终止交换条件是除以2
String temp = arr[i]; //temp变量相当于找的第三个杯子
arr[i] =arr[arr.length-i-1];
arr[arr.length-i-1]=temp;
}
//查看结果
for (int i=0;i
//数组的线性查找
public class Hello {
public static void main(String[] args){
String[] arr = new String[]{"jj","DD","MM","BB","GG","AA"};
String dest = "dD";
boolean isFlag = true;
//查看结果
for (int i=0;i
//数组的二分法查找
public class Hello {
public static void main(String[] args){
int[] arr = new int[]{-98,-34,2,32,46,85,95,129};
int dest = 2;
boolean isFlag=true;
int head = 0; //初始索引
int end =arr.length-1;//初始末索引
while (headend){
int middle = (head+end)/2;
if (dest==arr[middle]){
System.out.println("找到指定的元素了,索引为:"+middle);
isFlag =false;
break;
}else if (arr[middle]>dest){
end = middle -1;
}else { //相当于arr[middle]
下一篇:python 命令行参数