环境:Notpad ++ 6.0 + JDK 6.0.24
冒泡排序的关键点是从后向前对相邻的两个数组元素进行比较,若后面元素的值小于前面元素的值,则将这两个元素交换位置,否则不进行交换。依次进行下去,第一趟排序可将数组中值最小的元素移至下标为0的位置。对于有n个元素的数组,循环执行n-1趟扫描便可完成排序。(当然,也可以从前向后对相邻的两个数组元素进行比较,但此时应注意将大数向后移,与小者前移的冒泡法相对应,可将这种大者后移的排序称为下沉法)。
下图演示了有6个元素的数组实施冒泡法排序(小数前移)的前两趟比较与交换过程。可以看出,第一趟排序后最小数12已移到了下标为0的正确位置;第二趟排序后次小数17移到了下标为1的正确位置。
代码实现:
public class BubbleSort{
public static void main(String[] args){
int a[] = {1, 23, 45, 6, 0, 99, 100, 89, 34, 56};
System.out.println("排序前:");
for (int i = 0; i < a.length; ++ i)
System.out.print(a[i] + " ");
bubbleSort(a);
System.out.println();
System.out.println("排序后:");
for (int i = 0; i < a.length; ++ i)
System.out.print(a[i] + " ");
}
public static void bubbleSort(int a[]){
int temp = 0;
for (int i = 0; i < a.length - 1; ++ i){
for (int j = i; j < a.length; ++ j){
if (a[i] > a[j]){
temp = a[i];
a[i] = a[j];
a[j] = temp;
}
}
}
}
}
执行效果如图:
分享到:
相关推荐
冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。 它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小、首字母从Z到A)错误就把他们交换过来。 走访元素的工作是重复...
* 冒泡排序: * 每次在无序队列里将相邻两个数一次进行比较, * 将小数调到前面,逐次比较,直至将最大的数移到 * 最后。将剩下的N-1个数继续比较,将次大数移至 * 倒数第二位。
用java实现冒泡排序算法,开发者必会的几种算法
实现合并排序,插入排序,希尔排序,快速排序,冒泡排序,桶排序算法的java实现。
1.冒泡排序的原理:每次都从第一个元素开始(索引0),向后两两比较,只要后面的比前面的大,就交换(从大到小) 2.通过画图分析,5个数字排4趟,n数字排n-1趟,而外层的for循环代表的是循环的趟数,所以外层循环的结束条件是...
用java实现了以下算法: 1、冒泡排序、冒泡排序的两种改进。 2、插入排序。 3、选择排序。 4、希尔排序。 5、归并排序。 6、快速排序。
没办法,有好资源只能上次20M,先上传小的,呵呵,大伙儿不要笑话我就是了!不过香蕉皮、鸡蛋就只管扔就是了,呵呵````
java 冒泡排序法 java 冒泡排序法
可以用java来得到冒泡排序的实现,由屏幕输入存入数组。
冒泡排序法java。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
java 冒泡排序法 PPT文档java 冒泡排序法 PPT文档java 冒泡排序法 PPT文档java 冒泡排序法 PPT文档
掌握如何在C语言和Java语言中实现冒泡排序算法 了解并比较不同编程语言在实现相同算法时的异同点 提升自己的算法实现和应用能力 其他说明: 本文的代码示例清晰易懂,适合初学者入门。对于有经验的开发者,也可以...
Java实现冒泡排序
//冒泡排序 for(int i=0;i;i++){ for(int j=i+1;j;j++){//注意j的开始值是i+1,因为按照排序规则,比a[i]大的值都应该在它后面 if(a[i] > a[j]){ int temp = a[j]; a[j] = a[i]; a[i] = temp; ...
冒泡排序算法详细分析那还等hi实地阿基hihi大UI一及对阿迪年hiue一群
简单的选择排序,冒泡排序源代码,一个文件是测试类,另外两个分别是选择排序和冒泡排序的代码
java冒泡排序集锦方法!所有的方法都有!很不错的!希望对大家有帮助哈哈!
冒泡排序算法,Java语言写的,里面附了运行截图,分享给大家。
用java 编写的冒泡排序算法,并涵盖了冒泡排序算法的几种优化方式,以及在冒泡排序上的二分查找法。