zoukankan      html  css  js  c++  java
  • 直接排序

    题目:使用直接排序法将下列数组(从小到大排序)
    思路:第一次:使用索引值为0的元素与其他位置的元素挨个比较一次,如果发现比0号索引值的元素小的,那么交换位置,第一轮下来最小值被放在了第一位
    第二次:将索引值为1的元素与其他位置的元素挨个比较一次,如果发现比1号索引值的元素小的,那么交换位置,第二轮下来第二小的值被放在了第二位
    ...这样依次循环比较n-1次,实现有小到大的排序操作

     1 public class Choosesort {
     2     public static void main(String[] args) {
     3         int[] arr=new int[]{12,5,17,8,9};
     4         //排序前的数组
     5         System.out.println("排序前的数组元素为:");
     6         for (int i = 0; i <arr.length ; i++) {
     7             System.out.print(arr[i]+" ");
     8         }
     9         //选择排序法(将最小的依次选择出来放在合适的位置上)
    10         for (int i = 0; i <arr.length-1 ; i++) {//控制排序的轮数,轮数等于arr.length-1
    11             //下面这个for循环执行一次,就会把最小值放在第一位,执行两次就会把第二小的值放在第二位,这样依次实现排序
    12             for (int j = i+1; j <arr.length ; j++) {
    13                 if(arr[i]>arr[j]){
    14                     arr[i]=arr[i]+arr[j];
    15                     arr[j]=arr[i]-arr[j];
    16                     arr[i]=arr[i]-arr[j];
    17                 }
    18  
    19             }
    20         }
    21  
    22         //输出拍好序之后的数组
    23         System.out.println();
    24         System.out.println("排好序之后的数组元素为:");
    25         for (int i = 0; i <arr.length ; i++) {
    26             System.out.print(arr[i]+" ");
    27         }
    28     }
    29 }
    30 /*运行结果
    31 排序前的数组元素为:
    32 12 5 17 8 9 
    33 排好序之后的数组元素为:
    34 5 8 9 12 17 
    35 */
  • 相关阅读:
    IntelliJ IDEA ESLint autofix/prettier
    常见电脑屏幕分辨率
    在Vue中使用echarts的两种方式
    升级npm和vue-cli
    挖坑指南:module namespace not found in mapGetters()
    Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式
    如何在Vue项目中调试单个组件
    使用jquery的load方法只加载body之间的内容
    固化分组
    占有优先量词
  • 原文地址:https://www.cnblogs.com/parkour1026/p/10796369.html
Copyright © 2011-2022 走看看