算法与数组--【J2SE】


前言

数组就是一堆数据类型相同的数按照一定的顺序排列的集合。数组就像标号的盒子,一排的就是一维数组,多排的就是二维数组。数组方便的数据的存取和查找。


算法与数组--【J2SE】_第1张图片


算法

原数组:5,8,7,2,9


冒泡法:

相邻两个数比较大小,交换,最终找到最大值。

算法与数组--【J2SE】_第2张图片


选择排序:

从现有序列里面找最小,放到起始位置。

算法与数组--【J2SE】_第3张图片



在Java中的具体应用:

<span style="font-size:14px;">public class NumSort{
    public static void main(String[] args){
        int [] a=new int [args.length];
        for(int i =0;i<args.length;i++){
            a[i]=    Integer.parseInt(args[i]);
        }
        print(a);
        selectionSort(a);
        print(a);
            
    }
    
    public static void  selectionSort(int [] a){
        //冒泡排序
        
        int temp = 0;
        for (int i = a.length - 1; i > 0; --i)
        {
            for (int j = 0; j < i; ++j)
            {
                if (a[j + 1] < a[j])
                {
                    temp = a[j];
                    a[j] = a[j + 1];
                    a[j + 1] = temp;
                }
            }
        }
        
        //选择排序
        // int k ,temp;
        // for(int i=0;i<a.length;i++){
            // k=i;
            // for(int j=k+1;j<a.length;j++){
                // if(a[j]<a[k]){
                    // k=j;
                // }
            // }
            
            // if(k!=i){
                // temp=a[i];
                // a[i]=a[k];
                // a[k]=temp;
            // }
        //}
    }
    private static void print(int[] a){
        for(int i=0;i<a.length;i++){
            System.out.print(a[i] + " ");
        
        }
            System.out.println();
            
    }
    
}</span>


运行结果:


算法与数组--【J2SE】_第4张图片



总结

算法要一步一步的在纸上写一遍,然后单步调试完整走一遍,就不会那么晕了。我相信,并持续相信,我的编程会学的特别棒的。



你可能感兴趣的:(算法,数组)