ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Java小练习——冒泡排序

2022-08-11 02:00:46  阅读:135  来源: 互联网

标签:Java int 练习 冒泡排序 循环 数组 array 进行


Java小练习——冒泡排序

题目描述

定义一个长度为9的数组;

输入9个数字,进行冒泡排序, 使其按照从小到大的顺序排列, 并将排列后的结果输出。

思路

首先我们应明确冒泡排序的基本思路,即对每个相邻的元素进行比较,若顺序错误则进行交换。

例如数组 5,0,3,1,2

第一次循环我们对第一位与第二位进行比较,我们进行第一次循环时,第一位的5大于第二位的0,所以进行交换,因而数组变成了0,5,3,1,2

接着我们再进行第二次循环,对第二为数字与第三位数字进行比较,这里需要注意的是,此时的第二位数字为5,因而我们进行的是5与3的比较,很明显5大于3,所以数组变成了0,3,5,1,2

接着进行两次循环以后,数组就变成了0,3,1,2,5

以上便是代表着第一次大循环的完成

接着我们便可以进行第二次大循环,步骤与第一次大循环一致,即先对比第一位与第二位,若排序错误则换位置,若无错误则接着进行

最终我们便可以得到排过序的数组。

那么我们就应该说代码的实现了。

首先,我们因明确我们要使用for循环结构进行作答。

然后就是确定循环的次数了

我们先来确认小循环的次数,还是拿上面的例子

打比方,第一位与第二位,第二位与第三位,第三位与第四位,第四位与第五位,小循环结束。

那么我们就可以知道,小循环次数其实就是数组元素的个数-1。

接着同样的方法我们可以得出大循环的次数同样为循环此时-1。

接着我们需要知道如何进行交换,若直接进行赋值则会导致原来数值被覆盖,那么我们可以定义一个变量temp作为中间量。

搞定了这些,相信代码很轻松就可以写出来了!

代码

package Test;

import java.util.Scanner;

public class Test6 {
   public static void main(String[] args) {
       Scanner sc = new Scanner(System.in);
       int [] array = new int[9]; //定义数组
       //通过循环向数组中插入数字
       for (int i = 0; i < array.length; i++) {
           array[i] = sc.nextInt();
      }
       //嵌套循环实现冒泡排序
       for (int i = 0; i < array.length - 1; i++) {
           for(int j = i + 1;j<array.length;j++){
               if(array[i]>array[j]){
                   int temp = array[i];
                   array[i] = array[j];
                   array[j] = temp;
              }
          }
      }

       //通过循环进行输出
       for (int i = 0; i < array.length; i++) {
           System.out.print(array[i] + " ");
      }
  }
}

运行结果

 

 

标签:Java,int,练习,冒泡排序,循环,数组,array,进行
来源: https://www.cnblogs.com/XMMAX/p/16574519.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有