Java基础13-数组算法
1.数组的复制
1 //复制算法,将arr1数组的值复制给arr2数组
2 import java.util.Arrays;
3 public class Test1{
4 public static void main(String[] args){
5 int[] arr1={88,99,66,55};
6 int[] arr2=new int[arr1.length];
7
8 for(int i=0;i<arr1.length;i++){
9 arr2[i]=arr1[i];
10 }
11 System.out.println("数组arr2的值:");
12 for(int i=0;i<arr1.length;i++){
13 System.out.println(arr2[i]);
14 }
15
16
17 }
18 }
2.查找算法(搜索)
1 import java.util.Scanner;
2 import java.util.Arrays;
3 public class Test1{
4 public static void main(String[] args){
5 Scanner in=new Scanner(System.in);
6 System.out.println("请输入你要查询的名字:");
7 String n=in.next();
8 String[] name={"张三","李四","王二","小明"};
9 boolean flag=false;//标记
10
11 for(int i=0;i<name.length;i++){
12 if(n.equals(name[i])){
13 flag=true;
14 break;
15 }
16 }
17 if(flag==true){
18 System.out.println("搜到了");
19 }else{
20 System.out.println("该名字不存在");
21 }
22
23
24 }
25 }
3.插入算法
1 /*插入算法
2 23,32,57,78,98,100从小到大排列,此时在100的位置插入25,顺序就变了,此时就需要进行判断
3 */
4 import java.util.Scanner;
5
6 public class Test1{
7 public static void main(String[] args){
8 Scanner in=new Scanner(System.in);
9 int[] arr={23,32,57,78,98,100};
10 System.out.println("请输入你要插入的数字:");
11 int num=in.nextInt();
12 arr[arr.length-1]=num;
13 for(int i=arr.length-1;i>0;i--){
14 if(arr[i]<arr[i-1]){
15 int temp=arr[i];
16 arr[i]=arr[i-1];
17 arr[i-1]=temp;
18 }else{
19 break;
20 }
21 }
22
23 for(int i=0;i<arr.length;i++){
24 System.out.println(arr[i]);
25 }
26
27 }
28 }
4.冒泡排序(选出老大后,后面的还要来和老大比)
1 //冒泡排序
2 import java.util.Arrays;
3 public class Test1{
4 public static void main(String[] args){
5 int[] num={65,23,56,12,88,3,5,13,109};
6 //从小到大排序
7 for(int j=0;j<num.length-1;j++){
8 for(int i=0;i<num.length-1;i++){
9 if(num[i]>num[i+1]){
10 int temp=num[i];
11 num[i]=num[i+1];
12 num[i+1]=temp;
13 }
14 }
15 }
16
17 for(int i=0;i<num.length;i++){
18 System.out.println(num[i]);
19 }
20 }
21 }
5.选择排序(选出老大后,老大就可以休息了,不比了,后面以此类推) 比冒泡排序效率更高
1 //选择排序
2 import java.util.Arrays;
3 public class Test1{
4 public static void main(String[] args){
5 //从小到大排序
6 int[] num={65,23,56,12};
7 for(int i=0;i<num.length-1;i++){
8 for(int j=i+1;j<num.length;j++){ //j<4
9 if(num[i]>num[j]){
10 int temp=num[i];
11 num[i]=num[j];
12 num[j]=temp;
13 }
14 }
15 }
16 for(int i=0;i<num.length;i++){
17 System.out.println(num[i]);
18 }
19 }
20 }