JAVA冒泡排序原理?谁知道给个例子,谢谢啦

如题所述

本视频通过动画的方式展示冒泡排序的原理。希望对大家理解冒泡排序的原理有所帮助。如果大家觉得有帮助,请点赞,如果关注本号就更好了。如果大家有什么问题,也可以在下面留言。

温馨提示:内容为网友见解,仅供参考
第1个回答  2011-10-16
import java.util.Scanner;

public class BubbleSort {

// 排序方法(由大到小)

public static void Sort(int arry[]){

for(int i=arry.length-1;i>0;i--)
{

for(int j=0;j<i;j++)
{
if(arry[i]>arry[j]) //如果后面的大于前面的 则交换顺序
{
int temp; //相当于装满油的桶,和装满水的桶,互换的时候,需要一个空的桶。temp现在就是那个空桶
temp=arry[i];
arry[i]=arry[j];
arry[j]=temp;

}

}
}
System.out.println("排序结果为:"); //打印排序结果
for(int i=0;i<arry.length;i++)
{
System.out.print(arry[i]+",");
}
}

public static void main(String args[]){

int[] arry=new int[10];
Scanner scan=new Scanner(System.in); //接收被排列数字
System.out.println("请输入10个数...");

for(int i=0;i<arry.length;i++){ //接收数字赋给数组
arry[i]=scan.nextInt();

}

Sort(arry); //调用排列方法

}

}
测试过的,希望有用!本回答被提问者采纳
第2个回答  2011-10-10
//下面是 冒泡排序算法及其例子,写的很详细 希望对你有帮助   
public class BubbleSort {   
public static void sort(Comparable[] data) {   
// 数组长度   
int len = data.length;
for (int i = 0; i < len - 1; i++) {
// 临时变量  
Comparable temp = null;
// 交换标志,false表示未交换   
boolean isExchanged = false;   
for (int j = len - 1; j > i; j--) {
// 如果data[j]小于data[j - 1],交换   
if (data[j].compareTo(data[j - 1]) < 0) {
  temp = data[j];
  data[j] = data[j - 1];
  data[j - 1] = temp;   
// 发生了交换,故将交换标志置为真
  isExchanged = true;
  }// end if  
 }// end for   
// 本趟排序未发生交换,提前终止算法,提高效率  
 if (!isExchanged) {
  break;  
 }// end if   
}// end for   
}// end sort   
public static void main(String[] args) {   
// 在JDK1.5版本以上,基本数据类型可以自动装箱   
// int,double等基本类型的包装类已实现了Comparable接口
  Comparable[] c = { 4, 9, 23, 1, 45, 27, 5, 2 };
  sort(c);
  for (Comparable data : c) {
  System.out.println(data);
  }  
 }   
}   
//简单示例  
 public class Test_Ordination {
  public static void main(String args[]){
  int[] s = {23,5,12,59,78,21,100,79,66};
  for(int j=1;j<=s.length;j++){
  for(int i=0;i<s.length-1;i++){
  if(s[i]>s[i+1]){
  int temp;
  temp = s[i];
  s[i] = s[i+1];
  s[i+1] = temp;
  }   
}  
 }
  for(int i=0;i<s.length;i++){
  System.out.println(s[i]);
  }  
 }   
}
第3个回答  2011-10-10
这里有很详细的介绍,也有各种语言的例子
http://baike.baidu.com/view/254413.html?wtp=tt

Java实现几种常见排序方法
选择法的原理是先将第一个数与后面的每一个数依次比较,不断将将小的赋给第一个数,从而找出最小的,然后第二个数与后面的每一个数依次比较,从而找出第二小的,然后第三个数与后面的每一个数依次比较,从而找出第三小的...直到找到最后一个数。public void sort(int x[]){ int n=x.length;in...

举例说明“冒泡排序法”基本原理?
然后再从头开始进行两两比较交换,直到倒数第二位时结束,其余类似看例子 例子为从小到大排序,原始待排序数组| 6 | 2 | 4 | 1 | 5 | 9 | 第一趟排序(外循环)第一次两两比较6 > 2交换(内循环)交换前状态| 6 | 2 | 4 | 1 | 5 | 9 | 交换后状态| 2 | 6 | 4 | 1 | 5 | ...

怎样排序?
冒泡排序是一种简单的排序算法,就地排序。实现原理也很简单:重复地遍历要排序的数列,一次比较两个元素,如果两个元素根据某种排序策略相对位置错误,那么就交换这两个元素的位置。遍历的操作重复进行直到不需要再进行任何交换,也就是说数列已经成为一种有序数列呢。接下来我们通过图示的方式来说明冒泡排序...

冒泡排序和选择排序的原理是什么?
冒泡排序是一种简单的排序算法,其工作原理是重复地遍历待排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。遍历数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。以这个数列为例:45,43,56,32,15。首先,我们从第一个元素开始,比较相邻的两个元素。如果...

Java冒泡排序中i、j各代表什么意思?
这个算法的名字由来是因为越大的元素会经由交换慢慢“浮”到数列的顶端,故名。冒泡排序(BubbleSort)的基本概念是:依次比较相邻的两个数,将小数放在前面,大数放在后面。即在第一趟:首先比较第1个和第2个数,将小数放前,大数放后。然后比较第2个数和第3个数,将小数放前,大数放后,如此继续...

什么是冒泡法?[详细的讲下]
冒泡排序 冒泡排序:BubbleSort 基本概念 冒泡排序的基本概念是:依次比较相邻的两个数,将小数放在前面,大数放在后面。即首先比较第1个和第2个数,将小数放前,大数放后。然后比较第2个数和第3个数,将小数放前,大数放后,如此继续,直至比较最后两个数,将小数放前,大数放后。重复以上过程,仍...

Java数组排序几种排序方法详细一点
选择排序是另一种简单直观的排序算法。它的工作原理是:首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。示例代码:```java public static int[] selectSort(int[] ...

冒泡排序是什么意思?
问题二:冒泡排列是什么意思? 就是给你一些哗字,然后用算法把他从大到小排序。因为是大的往前一个个的放,就像水里的泡泡一样,故而的名。问题三:“JAVA写冒泡排序”是什么意思? 10分 按冒泡排序思想,有8颗豆子(大小不一)放在8袋子里,从第1个袋了拿出豆子,与第2个袋子里的豆子相比较...

谁能举个例子解释一下,什么是快速排序,冒泡排序,直接插入排序,堆序法...
冒泡排序: bubblesort:简单的方法,从第一个数开始,依次和后面比较,比后面大就往后移动,直到排完,举例: 5,1,2,3,4. 先看5-1,5,2,3,4-1,2,5,3,4-1,2,3,5,4-1,2,3,4,5.这例子特殊,一下排完,事实上复杂度为O(n*n);插入排序: insertion sort: ...

Java冒泡排序中i,j各代表什么意思
这里的i代表的是需要执行冒泡排序的次数。j代表每次执行冒泡排序时,判断的指针位置。你可以自己实例化一个五元数组,比如int[] nums={2,4,1,8,5};然后你按照上面程序走,你自己一步步画出来执行结果,这样你就比较容易理解。比如i=0;j=0;代表第一次执行,指针位置在2,就比较2和4的大小。然后再...

相似回答