package com.japher.j2se.sort;
public class BubbleSort
{
public static void main(String [] arg)
{
int [] src;
src = createRandom(8,0,100);
sort(src);
}
/** 冒泡排序,每趟都依次比较左右两个,从第一个到最后一个,每趟都是,共N-1趟即可,因为最差情况下完全倒序也只需要N-1次*/
public static void sort(int [] src)
{
int temp;
for(int num = 0 ; num<src.length-1;num++)
{
for(int i = 0 ; i< src.length-1;i++)
{
if(src[i]>src[i+1])
{
temp = src[i+1];
src[i+1] = src[i];
src[i]= temp;
}
}
System.out.println("loop" + (num+1)+":");
for(int element : src)
{
System.out.print(element+" ");
}System.out.print("\n");
}
}
public static int[] createRandom(int num,int start,int end)
{
if(start >end)
{
System.out.println("end value is bigger than start");
return null;
}
int [] des = new int[num];
for(int i = 0 ; i<num ; )
{
des[i] = (int)Math.round(Math.random()*(end - start)+start);
System.out.print(des[i]+" ");
if( ++i%10 ==0)
{
System.out.print('\n');
}
}
return des ;
}
}
结果:
31 82 94 38 93 93 52 86
loop1:
31 82 38 93 93 52 86 94
loop2:
31 38 82 93 52 86 93 94
loop3:
31 38 82 52 86 93 93 94
loop4:
31 38 52 82 86 93 93 94
loop5:
31 38 52 82 86 93 93 94
loop6:
31 38 52 82 86 93 93 94
loop7:
31 38 52 82 86 93 93 94
最后一趟是最终结果
其实冒泡排序主要依赖的是这样一个共识:比方10个数的话,我进行9次整理就能把它完全排序好,每次整理都从头到尾交换相邻的大小不符的两个,9次下来完全排序好。
分享到:
相关推荐
冒泡排序详解,简单而详细的讲清楚了,什么是冒泡排序。 冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。 它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小、首...
java冒泡排序代码,亲测能用,控制台输入数据,自动排序
### Java冒泡排序方法详解 #### 一、冒泡排序简介 冒泡排序是一种简单的排序算法,它重复地遍历待排序的数列,依次比较相邻的两个元素,如果它们的顺序错误就把它们交换过来。遍历数列的工作是重复进行的,直到...
下面我们将深入探讨冒泡排序的工作原理、Java代码实现以及其效率分析。 ### 冒泡排序的工作原理 冒泡排序的基本思想是,重复地走访过要排序的元素列表,依次比较相邻的两个元素,如果它们的顺序(如从小到大)错误...
以上三个知识点总结了关于 Java 排序的一些基本应用,包括基础的冒泡排序算法、使用标准库 `Collections.sort()` 进行排序以及使用 `RuleBasedCollator` 实现国际化排序等。这些技术对于编写高效、可维护的 Java ...
冒泡排序是一种基础且经典的排序算法,主要应用于计算机科学领域,特别是在编程语言如Java中。它的名字来源于排序过程中较小的元素像气泡一样逐渐“浮”到数组或列表的顶端。这个PPT文档很可能是详细介绍了Java实现...
在Java中实现冒泡排序,我们可以从以下几个方面来深入理解: 1. **基本概念**:冒泡排序通过重复遍历待排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。遍历数列的工作是重复地进行直到没有再...
### JAVA冒泡排序算法详解 冒泡排序是一种简单的排序算法,它重复地遍历要排序的元素列表,比较每对相邻元素,如果它们的顺序错误就把它们交换过来。遍历列表的工作是重复进行的,直到没有再需要交换的元素,也就是...
在Java中实现冒泡排序,我们可以使用以下代码: ```java void bubbleSort(int[] array) { int n = array.length; for (int i = 0; i ; i++) { for (int j = 0; j ; j++) { if (array[j] > array[j + 1]) { // ...
冒泡排序作为计算机科学中的基础排序算法,有着简单直观的特点,非常适合初学者学习和理解排序的基本概念。尽管它的效率并不高,但在教学和算法的初步学习中,它仍然扮演着重要的角色。 首先,让我们来详细了解一下...
//测试冒泡排序 /********************* * int[] num = {23,45,76,78,98,54,}; 第一次 23 45 76 78 54 98 第二次 23 45 76 54 78 98 第三次 23 45 54 76 78 98 输出 :23 45 54 76 78 98 当判断为正确时就退出...
以下是一个简单的Java冒泡排序实现: ```java public class BubbleSort { public static void main(String[] args) { int[] array = new int[]{5, 2, 8, 3, 9, 1}; // 待排序的数组 int n = array.length; ...
* 冒泡排序: * 每次在无序队列里将相邻两个数一次进行比较, * 将小数调到前面,逐次比较,直至将最大的数移到 * 最后。将剩下的N-1个数继续比较,将次大数移至 * 倒数第二位。
1.冒泡排序的原理:每次都从第一个元素开始(索引0),向后两两比较,只要后面的比前面的大,就交换(从大到小) 2.通过画图分析,5个数字排4趟,n数字排n-1趟,而外层的for循环代表的是循环的趟数,所以外层循环的结束条件是...
### Java冒泡排序知识点解析 #### 一、冒泡排序基本概念 冒泡排序是一种简单的排序算法,它重复地遍历待排序的数列,依次比较相邻的两个元素,如果它们的顺序错误就把它们交换过来。遍历数列的工作是重复进行的,...
下面是一个简单的Java冒泡排序实现: ```java public class BubbleSort { public static void bubbleSort(int[] array) { int n = array.length; for (int i = 0; i ; i++) { // 外层循环控制遍历次数 for (int...
在JAVA中,实现这两种排序算法可以使用面向对象的特性,创建一个类如`MaopaoKuaisu.java`,在这个类中定义两个方法,分别实现冒泡排序和快速排序。类的结构可能如下: ```java public class MaopaoKuaisu { public...
在Java中实现冒泡排序,我们可以创建一个名为`bubbleSort`的方法,接受一个整型数组作为参数。 以下是冒泡排序的基本步骤: 1. **初始化**:首先,我们需要一个循环结构来遍历数组的每个元素。通常,外层循环会...
根据给定的信息,我们可以深入探讨冒泡排序算法及其在Java中的实现细节。冒泡排序是一种简单的排序算法,它重复地遍历要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。遍历数列的工作是重复...