Java冒泡排序法实现

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Java冒泡排序法实现
“冒泡排序法”可以将⼀个⽆序的数组按照从⼩到⼤的顺序或者是从⼤到⼩的顺序进⾏排序,是⼀种较为常见的排序算法,因为数据从⼩到⼤或者从⼤到⼩地到数列头或者数列末的过程称为“冒泡”。

对于冒泡排序我觉得最重要的两点就是:(1)需要重新排序的次数,即循环的次数,这个是根据数组的序列的⼤⼩来定的,⽐如数组的⼤⼩为n的话,需要循环的次数就为(n - 1)次;(2)另外⼀个就是每次循环需要进⾏数据之间⽐较的次数,每次排序后可以确定出最⼤或者最⼩的那个数据,下次循环时就不⽤再进⾏⽐较了,所以每次进⾏⽐较的次数是(n - i);
对于⼀个数组⽆序的情况,⽆论是从⼤到⼩排序还是从⼩到⼤冒泡,假如是⼀个n个数据的数组,那么第⼀个数据⽆需跟⾃⼰进⾏⼤⼩⽐较了,那么需要进⾏⽐较的是跟余下的n - 1个数据,所以需要重新进⾏排序的循环次数是n - 1次,在每次循环的过程中需要进⾏的⽐较次数的确定也是⼀个关键,在第⼀次循环的过程可以确定(以从⼩到⼤为例)最⼤的那个数那么在下⼀次的循环中就不⽤再进⾏⽐较了。

下⾯这个实例是对数组进⾏从⼩到⼤排序:
1package ren.arrayListSortedTest;
2
3import java.util.Scanner;
4
5public class ArraySortedTest {
6//排序
7public static void sort(int [] unSortedArray){
8for(int i=1;i<unSortedArray.length;i++){
9for(int j=0;j<unSortedArray.length-i;j++){
10if(unSortedArray[j]>unSortedArray[j+1]){
11int temp = unSortedArray[j];
12 unSortedArray[j]=unSortedArray[j+1];
13 unSortedArray[j+1]=temp;
14 }
15 }
16 }
17
18 }
19//打印(已排序好)
20public static void print(int [] unPrintedArray){
21for(int i=0;i<unPrintedArray.length;i++){
22 System.out.print(unPrintedArray[i]+",");
23 }
24 }
25public static void main(String[] args){
26 Scanner sc = new Scanner(System.in);
27//第⼀个键盘输⼊指定数组开辟的⼤⼩
28int [] unSortedArray = new int[sc.nextInt()];
29for(int i=0;i<unSortedArray.length;i++){
30//键盘输⼊为指定数组的内容
31 unSortedArray[i]=sc.nextInt();
32 }
33 ArraySortedTest.sort(unSortedArray);
34 ArraySortedTest.print(unSortedArray);
35 System.out.println("排序执⾏结束..");
36 }
37 }
执⾏结果:
通过键盘输⼊5确定要开辟的数组的容量是5个数据的数组,然后再指定每个元素的⼤⼩是多少,这⾥的原始的数组是[34,23,11,65,24],排序后结果为[11,23,24,34,65]。

相关文档
最新文档