冒泡排序原理和JAVA实现.doc

冒泡排序原理和JAVA实现.doc

ID:51699361

大小:38.50 KB

页数:2页

时间:2020-03-15

冒泡排序原理和JAVA实现.doc_第1页
冒泡排序原理和JAVA实现.doc_第2页
资源描述:

《冒泡排序原理和JAVA实现.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、冒泡排序原理和JAVA实现分类: Algorithm2010-12-1716:23 1658人阅读 评论(1) 收藏 举报javastringclassnull冒泡排序是一种比较排序,下面我实现一个从小到大的冒泡排序:先定义两个变量:   待排序数组:int[]source;   数组长度 length=source.length; 原理如下:1、开始:有length-1次循环,每次参与循环的是未排序的数。第一次参与循环的是整个数组,因为假设整个数组是无序的。   每次循环需要设置一个标志位:booleanfl

2、ag=false;表示循环过程中是否产生了交换。2、过程:循环过程中,相邻的两个元素进行比较,如果source[j]>source[j+1],则交换两者顺序,同时标志位flag=true;表示产生了交换。每一次循环结束后,最大数沉到未排序部分的尾部,每次循环找出一个最大数。3、结束:每次循环结束后,如果标志位flag未改变的话,证明未排序的部分中没有source[j]>source[j+1],即未排序部分已经有序,这时,跳出循环,排序结束。  或者length-1次循环结束后,数组有序。    为什么是leng

3、th-1次而不是length循环,因为每次循环找出一个最大数,沉下去,length-1次循环后,只剩下一个元素,不需要进行任何比较,它就是最小的。 JAVA代码如下: [java] viewplaincopy1.package sort;  2.import java.util.Scanner;  3.public class bubbleSort {  4.    public void sort(int[] source){  5.        int length = source.length;  6

4、.        boolean flag = false;  7.        for(int i=1;i<=length-1;++i){  8.            flag = false;  9.            for(int j=0;j source[j+1]){  11.                    int temp = source[j];  12.              

5、      source[j] = source[j+1];  13.                    source[j+1] = temp;  14.                    flag = true;  15.                }  16.            }  17.            if(flag == false)  18.                break;  19.        }  20.    }  21.      22.    publ

6、ic static void main(String[] args){  23.        Scanner in = new Scanner(System.in);  24.        bubbleSort bs = new bubbleSort();  25.        while(in != null){  26.            int num = in.nextInt();  27.            int[] source = new int[num];  28.       

7、     for(int i=0;i

8、();  36.        }  37.    }  38.}  分享到:

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。