zoukankan      html  css  js  c++  java
  • Java的冒泡排序问题

    public class test1 {
        public static void main(String[] args) {
            int arr[] = new int[] { 5, 1, 2, 8, 4, 6, 9, 7, 3, 0 };
            int temp;
            System.out.println("原来的内容:");
            printArray(arr);
    
         //从小到大排序
    for (int i = 1; i < arr.length; i++) { for (int j = 0; j < arr.length - i; j++) { if (arr[j] > arr[j + 1]) { temp = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = temp; } } // printArray(arr); } System.out.println("从小到大排序:"); printArray(arr);
         //从大到小排序
    for (int i = 1; i < arr.length; i++) { for (int j = 0; j < arr.length - i; j++) { if (arr[j] < arr[j + 1]) { temp = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = temp; } } //printArray(arr); } System.out.println("从大到小排序:"); printArray(arr); }
      //显示数组内容
      private static void printArray(int[] arr) { for (int i : arr) { System.out.print(arr[i]); } System.out.println(); } }

    程序运行的结果:

    从大到小的排序结果不对。

    看了半天,从大到小排序那部分代码怎么也看不出来哪有错误。

    希望大家帮我看下。

    问题解决了,问题出在了printArray()函数上。

        private static void printArray(int[] arr) {
            for (int i : arr) {
                System.out.print(i);
            }
            System.out.println();
        }

    我用的是foreach函数,foreach语法:

    for(类型 var:集合){

      集合体

    }

    类型:定义变量的类型

    var:定义的遍历集合的变量

    集合:是被遍历的对象或数组。

    如上面的printArray()代码片段中

    foreach函数是将arr数组的内容通过变量i来进行遍历的,就是将数组arr中的内容依次放到变量i中,然后通过i输出。

  • 相关阅读:
    angularJS 修改操作select回显选中的数据
    zkteco iface702 中控考勤机java开发步骤二---获取考勤机 的考勤数据
    zkteco iface702 中控考勤机java开发步骤一---连接考勤机
    JQuery的分页插件pagination.js
    Ajax跨域后台处理
    发送邮箱工具类--阿里企业邮箱群发
    kindeditor-4.1.10 ---文件上传
    导出excel表格
    算法
    Arrays类——Arrays.asList()方法使用
  • 原文地址:https://www.cnblogs.com/Skyar/p/3027760.html
Copyright © 2011-2022 走看看