zoukankan      html  css  js  c++  java
  • 排序方法-循环和数组练习

    1.冒泡排序:

    package com.zs.PaiXu;
    
    public class MaoPao {
        public static void main(String[] args) {
            int[] arr={5,4,3,6,8,7,2,9,1};
            PaiXu(arr);
            PrintArray(arr);
        }
    
        public static void PrintArray(int[] arr) {
            // 遍历输出数组
            for (int i = 0; i < arr.length; i++) {
                System.out.print(arr[i]+"	");    
            }
            System.out.println();
        }
    
        private static void PaiXu(int[] arr) {
            /* 冒泡排序法,数组相邻元素之间比较,如果当前元素比下一个元素大,那么两个元素换位置,这样内部循环第一次循环完时,
            排出来数组最大值在数组的最后一个位置,然后下一次循环比较出剩余元素中最大的数,排在倒数第二个元素下标上,依次右到左排,
            具体排列方法见下图*/
            for (int i = 0; i < arr.length-1; i++) {//for循环来多次比较,每次比较排出一个最大值
                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;
                    }    
                }
                PrintArray(arr);//外部循环一次,就输出一次当前排序结果
            }
        }
    }

    运行结果如下:

    2.选择排序法:

    package com.zs.PaiXu;
    
    public class XuanZe {
        public static void main(String[] args) {
            int[] arr={4,2,6,8,7,5,9,1,3};
            PaiXu(arr);
            MaoPao.PrintArray(arr);//调用冒泡排序类的输出数组方法,
            
        }
        private static void PaiXu(int[] arr) {
            /* 创建选择排序方法,选择排序是选一个元素,假设为最大,用这个元素与所有元素比较,如果有比这个元素大的,就与这个元素换位置*/
            for (int i = 0; i < arr.length-1; i++) {//外循环,每次循环结束比较出一个最大值,进行下一次比较
                for (int j = i+1; j < arr.length; j++) {//内循环,选出一个最大值
                    if(arr[i]<arr[j]){
                        int max=arr[j];
                        arr[j]=arr[i];
                        arr[i]=max;
                    }
                }
                MaoPao.PrintArray(arr);//调用冒泡排序输出方法,查看每一次外循环结束时,当前数组的排序;
            }
        }
    }

    运行结果:

    3.数组元素逆序

    package com.zs.PaiXu;
    
    
    public class NiXu {
        public static void main(String[] args) {
            int[] arr={1,2,3,4,4,5,6,7,8,9};
            NiXuArray(arr);    
        }
        private static void NiXuArray(int[] arr) {
            /* 定义两个变量,min表示第一个数字,max表示最后一个数字,然后min++,同时max--,当min>max时,循环结束*/
            for (int min = 0,max=arr.length-1; min < max; min++,max--) {
                int temp=arr[min];//定义一个变量,将第一个数字赋给变量,
                arr[min]=arr[max];//将最后一个数字赋给第一个元素,
                arr[max]=temp;    //将第一个数字的值赋到最后一个数字的位置。通过第一个与最后一个元素互换位置,实现逆序
                MaoPao.PrintArray(arr);//调用输出数组方法
            }
        }
    }

    运行结果如下:

    4.水仙花数:

    package com.zs.PaiXu;
    
    public class ShuiXianHua {
        /*水仙花数是一个三位数,这个数的值等于个位的立方+十位的立方+百位的立方*/
        public static void main(String[] args) {
            for (int i = 100; i <=999; i++) {
                int x=i/100%10;
                int y=i/10%10;
                int z=i%10;
                if(i==x*x*x+y*y*y+z*z*z){
                    System.out.println(i);
                }    
            }
        }
    }

    5.倒着打印99乘法表

    package com.zs.windows;
    
    public class ChengFaBiao {
        public static void main(String[] args) {
            for (int i = 9; i >=1; i--) {
                for (int j = i; j>=1; j--) {
                    System.out.print(i+"*"+j+"="+i*j+"	");
                }
                System.out.println();
                for(int j=0;j<=(9-i);j++){
                    System.out.print("     	");
                }
            }
        }
    }

    运行结果:

  • 相关阅读:
    itext操作PDF文件添加水印
    【PDF单页转化为图片输出 注意:英文或图片类的PDF可转化,中文抛异常】
    【使用Itext处理PDF文档(新建PDF文件、修改PDF文件、PDF中插入图片、将PDF文件转换为图片)】
    Itext简绍及操作PDF文件
    【将txt文本转图片】
    通用缓存组件
    一个简易的、轻量级的方法并行执行线程辅助类
    学习笔记 android fragment
    某队列积压问题分析、解决
    平衡
  • 原文地址:https://www.cnblogs.com/Zs-book1/p/10523972.html
Copyright © 2011-2022 走看看