zoukankan      html  css  js  c++  java
  • 选择排序

    具体的执行步骤请详细看注释!!!

    package com.yongjar.test;
    
    /**
     * @author yongjar
     * @date 2021/3/1
     * 选择排序
     * 选择排序算法在每一步中选取最小值来重新排列,从而达到排序的目的。
     */
    public class P4_2 {
    
        static final int SIZE =3;
    
        public static void selectSort(int [] a) {
    
    
            int index,temp;
            // i=0; a<3-1;
            // i++ = 1; a<3-1;
            for (int i = 0; i < a.length-1; i++) {
    
                // index = 0;
                // index = 1;
                index = i;
                //j=0+1 j<3 true
                //j=2  j<3 true
                for (int j = i+1; j < a.length; j++) {
    
                    // a[1](29) < a[0](25) false 继续for循环
                    // a[2](21) < a[0](25) true
                    //a[2](25) < a[1](29) true
                    if (a[j] < a[index]) {
                        //index = 2;
                        // index = 2;
                        index = j;
                    }
    
                }
    
                //  2 != 0
                // 2 !=1
                if (index != i) {
                    // temp = a[0](25)
                    // temp = a[1](29)
                    temp = a[i];
                    //a[0] = a[2](21)
                    // a[1] = a[2](25)
                    a[i] = a[index];
                    //a[2] = temp(25)
                    //a[2] = temp(29)
                    a[index] = temp;
                }
    
                System.out.println ("第"+i+"排序结果是:");
                for (int j = 0; j <a.length ; j++) {
                    System.out.print (" " + a[j]);
                }
    
                System.out.println ("
    ");
    
            }
    
    
        }
    
        public static void main(String[] args) {
    
            int [] shuzu = new int[SIZE];
    
    
            shuzu[0] = 25;
            shuzu[1] = 29;
            shuzu[2] = 21;
    
    
            System.out.print ("排序前的数组为:
    ");
    
            for (int j = 0; j < 3; j++) {
    
                System.out.print(shuzu[j]+ " ");
    
            }
    
            System.out.println ();
    
            selectSort (shuzu);
    
            System.out.print ("排序后数组为:
    ");
    
    
            for (int j = 0; j < 3; j++) {
    
                System.out.print(shuzu[j]+ " ");
    
            }
    
    
            System.out.print("
    ");
    
    
    
        }
    
    }
    
    
  • 相关阅读:
    VMWare相关知识
    QTP中的DataTable操作
    解决Access的sql语句join两次出错的问题
    .net环境用GDI+绘制倾斜文字
    用JS读取XML文件
    再认识asp.net的postback机制:探索__doPostBack的来龙去脉
    用Jquery读取Json内容
    JS取URL参数值的一个方法
    WinForm在窗体里面添加窗体
    ASP.NET2.0Theme回顾总结
  • 原文地址:https://www.cnblogs.com/jamal/p/14480057.html
Copyright © 2011-2022 走看看