• java基础_数组常用算法


     求数组最大值代码如下

    package java_test;
    /*求数组的最大值
     * */
    class Sdent{
    	public void inputMax(int [] a){
    		int max=a[0];//max的值让它为数组的第一个数的值
    		for(int i=0;i<a.length;i++){
    			if(max<a[i]){
    				max=a[i];//谁比他大,谁就当max
    			}
    		}
    		System.out.println(max);
    	}
    }
    public class A5_7 {
    	public static void main(String[] args){
    		int [] a={19,12,28,65,1,78,99};
    		Sdent nn=new Sdent();
    		nn.inputMax(a);
    
    
    
    	}
    }
    

    =============================================================

    1.数组的复制,把数组A的值复制给数组B

    public class Change {
        public static void main(String[] args){
            int [] arrA={1,2,3,4,5,6,7,8};
            int [] arrB= new int[arrA.length];
            for(int i=0;i<arrA.length;i++){
                arrB[i]=arrA[i];    
            }
            for(int i=0;i<arrB.length;i++){
                System.out.println(arrB[i]);
            }
        }
    }

    2.查找算法(搜索)

    package java_test;
    import java.util.*;
    public class Search {
    	public static void main(String[] args){
    		Scanner in =new Scanner(System.in);
    		System.out.println("请输入你要查找的学生姓名");
    		String name=in.next();
    		String [] arr={"张三","李四","王二","麻子","小七"};
    		boolean flag=false;
    		for(int i=0;i<arr.length;i++){
    			if(arr[i].equals(name)){
    				flag=true;
    				break;
    			}			
    		}
    		if(flag){
    			System.out.println("找到了");
    		}else{
    			System.out.println("没有这个学院存在");
    		}
    	}
    }
    

    3.插入算法

    package java_test;
    import java.util.*;
    public class arrayTest {
    	public static void main(String args[]) {
    		Scanner in = new Scanner(System.in);
    		int [] arr={1,3,5,7,9,77};//现在是按照从小到大生序排列的
    		System.out.println("请输入要插入的值");
    		int num=in.nextInt();
    		arr[arr.length-1]=num;//给数组最后一个数组附上我们输入的值
    		for(int i=arr.length-1;i>0;i--){
    			if(arr[i]<arr[i-1]){
    				int t=arr[i];	 /*这三句代码交换位置	*/	
    				arr[i]=arr[i-1];
    				arr[i-1]=t;
    			}else{
    				break;//第一次循环也就是输入的值和数组倒数第二个值比,即a[5]和a[4]比,如果比他大,if不成了,直接break跳出for循环
    			}
    		}
    		for(int i=0;i<arr.length;i++){
    			System.out.println(arr[i]);
    		}
    	}
    }
    

      

      

    4.冒泡排序

    挨着的两个两两相比,比arr.length-1次,选出一个最大(小)的值,然后选老二,选arr.length-1次

    /*冒泡算法,从小到大排序
     * */
    public class arrayTest {
    	public static void main(String[] args){
    		int [] a= {18,29,38,27,7,12,81,3};//数组长度a.length 是8
    		for(int i=0;i<a.length-1;i++){//这是外层循环要循环length-1次才能完事
    			for(int j=0;j<a.length-1;j++){//这层循环每次把最大的选出来
    				if(a[j]>a[j+1]){
    					int t=a[j];
    					a[j]=a[j+1];
    					a[j+1]=t;
    				}
    			}
    		}
    		for(int i=0;i<a.length;i++){
    			System.out.println(a[i]);
    		}
    
    	}
    }
    

      

    5.选择排序

    /*选择排序
     * */
    public class arrayChooseTest {
    	public static void main(String[] args){
    		int a[]={87,38,6,72,17,26,77,56};
    		for(int i=0;i<a.length-1;i++){
    			for(int j=i+1;j<a.length;j++){
    				if(a[i]>a[j]){
    					int t=a[i];
    					a[i]=a[j];
    					a[j]=t;
    				}
    			}
    		}
    		for(int i=0;i<a.length;i++){
    			System.out.println(a[i]);
    		}
    		
    	}
    }
    

      

  • 相关阅读:
    学习随笔
    javaWeb(1)
    javaWeb(3)----EL,JSTL
    开发时要注意的地方!!!
    Mybatis(0)——基础入门,hello,Mybatis! (使用IDEA)
    SpringAOP——通过JdbcTemplate连接数据库,并使用事务(Transactional)(使用IDEA进行编程)
    SpringAOP基础实战知识------hello!AspectJ (使用IDEA进行编程)
    5 jQuery
    4.1 js 配合dom 案例
    4.js
  • 原文地址:https://www.cnblogs.com/youning/p/6738984.html
Copyright © 2020-2023  润新知