zoukankan      html  css  js  c++  java
  • Java数组

    冒泡排序

    public class BubbleSort {
    /**
     * N个数字要排序完成,总共进行N-1趟排序,每i趟的排序次数为(N-i)次,所以可以用双重循环语句,外层控制循环多少趟,内层控制每一趟的循环次数。
     * @param args
     */
        public static void main(String[] args) {
            int arr[] = {26,15,29,66,99,88,36,77,111,1,6,8,8};
            for(int i=0;i < arr.length-1;i++) {//外层循环控制排序趟数
                for(int j=0; j< arr.length-i-1;j++) {
                            //内层循环控制每一趟排序多少次
                    // 把小的值交换到前面
                    if (arr[j]>arr[j+1]) {
                        int temp = arr[j];
                        arr[j] = arr[j+1];
                        arr[j+1] = temp;
                    }
                }
                System.out.print("第"+(i+1)+"次排序结果:");
                                    //列举每次排序的数据
                for(int a=0;a<arr.length;a++) {
                    System.out.print(arr[a] + "	");
                }
                System.out.println("");
            }
            System.out.println("最终排序结果:");
            for(int a = 0; a < arr.length;a++) {
                System.out.println(arr[a] + "	");
            }
        }
    }

    选择排序:(比冒泡排序更快,运行次数更少):

    public class Start
    {
        public static void main(String[] args)
        {
            int[] arr={20,60,51,81,285,12,165,51,81,318,186,9,70};
            for(int a:arr)
            {
                System.out.print(a+" ");
            }
            
            System.out.println("
    "+"---------------从小到大---------------");
            
            arr=toSmall(arr);
            for(int a:arr)
            {
                System.out.print(a+" ");
            }
            
            System.out.println("
    "+"---------------从大到小---------------");
            
            arr=toBig(arr);
            for(int a:arr)
            {
                System.out.print(a+" ");
            }
        }
    //    从大到小
        public static int[] toSmall(int[] arr)
        {
    //遍历数组里除最后一个的其他所有数,因为最后的对象没有与之可以相比较的数
            for(int i=0;i<arr.length-1;i++)
            {
    /*遍历数组里没有排序的所有数,并与上一个数进行比较
     *“k=i+1”因为自身一定等于自身,所以相比没有意义
     *而前面已经排好序的数,在比较也没有意义
     */
                for(int k=i+1;k<arr.length;k++)
                {
                    if(arr[k]<arr[i])//交换条件(排序条件)
                    {
                        int number=arr[i];
                        arr[i]=arr[k];
                        arr[k]=number;
                    }//交换
                }
            }
            return arr;
        }
    //    从小到大
    //和前面一样
        public static int[] toBig(int[] arr)
        {
            for(int i=0;i<arr.length-1;i++)
            {
                for(int k=i+1;k<arr.length;k++)
                {
                    if(arr[k]>arr[i])
                    {
                        int number=arr[i];
                        arr[i]=arr[k];
                        arr[k]=number;
                    }
                }
            }
            return arr;
        }
    }

    通过数组名.length()能获得数组的长度//这句话是错的
    对于字符串,可以:
    String s = "abcd";
    System.out.println(s.length()); //打印字符串长度

    对于数组,length不是方法,而是属性,应该这样:
    String[] aa = {"abc", "123"};
    System.out.println(aa.length); //注意,没有括号了
  • 相关阅读:
    java数组
    AJAX——核心XMLHttpRequest对象
    js下firstElementChild firstChild 以及childNodes和children方法
    搜索框
    浏览器内核
    JS-DOM ~ 03. 子节点的操作、style.样式和属性、dom元素的创建方法及操作、14个例题、主要是利用js直接控制html属性
    JS字符串和数组常用方法
    对象创建模式
    jQuery中的ajax
    闭包(closure)
  • 原文地址:https://www.cnblogs.com/xuyinyin/p/10863928.html
Copyright © 2011-2022 走看看