/**
* 冒泡排序算法
* @author WangZhen
*/
package test;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Random;
import java.util.Set;
public class BubbleSort {
public static void main(String[] args) {
Random random = new Random();
Set<Integer> set = new HashSet<Integer>();
while (set.size()<100){
set.add(random.nextInt(100));
}
System.out.println("生成1到100个不重复的数:");
for (Iterator<Integer> it = set.iterator(); it.hasNext();){
System.out.print(it.next() + ", ");
}
Integer[] values = (Integer[])set.toArray(new Integer[set.size()]);
System.out.println("\n升序冒泡排序算法:");
sortAsc(values);
for (Integer i : values){
System.out.print(i + ", ");
}
System.out.println("\n降序冒泡排序算法:");
sortDesc(values);
for (Integer i : values){
System.out.print(i + ", ");
}
}
public static void sortAsc(Integer[] values) {
for (int i = 0; i < values.length; ++i) {
for (int j = 0; j < values.length - i - 1; ++j) {
if (values[j] > values[j + 1]) {
int temp = values[j];
values[j] = values[j + 1];
values[j + 1] = temp;
}
}
}
}
public static void sortDesc(Integer[] values) {
for (int i = 0; i < values.length; ++i) {
for (int j = 0; j < values.length - i - 1; ++j) {
if (values[j] <= values[j + 1]) {
int temp = values[j];
values[j] = values[j + 1];
values[j + 1] = temp;
}
}
}
}
}
分享到:
相关推荐
java冒泡排序算法,sort方法,main方法
冒泡排序算法详细分析那还等hi实地阿基hihi大UI一及对阿迪年hiue一群
Java冒泡排序算法实现,内附源码和详细注释
java代码-使用java解决java冒泡排序算法的源代码 ——学习参考资料:仅用于个人学习使用!
从老师那弄的JAVA冒泡排序的一个讲解,不明白的可以好好看看哈
自己面试的时候遇到的,回来以后用java写了个完整的!
java冒泡排序集锦方法!所有的方法都有!很不错的!希望对大家有帮助哈哈!
* 冒泡排序: * 每次在无序队列里将相邻两个数一次进行比较, * 将小数调到前面,逐次比较,直至将最大的数移到 * 最后。将剩下的N-1个数继续比较,将次大数移至 * 倒数第二位。
1.冒泡排序的原理:每次都从第一个元素开始(索引0),向后两两比较,只要后面的比前面的大,就交换(从大到小) 2.通过画图分析,5个数字排4趟,n数字排n-1趟,而外层的for循环代表的是循环的趟数,所以外层循环的结束条件是...
用java实现冒泡排序算法,开发者必会的几种算法
JAVA冒泡排序和快速排序算法,符合实验报告要求哦
冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。 它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小、首字母从Z到A)错误就把他们交换过来。 走访元素的工作是重复...
用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; ...
简单的选择排序,冒泡排序源代码,一个文件是测试类,另外两个分别是选择排序和冒泡排序的代码
三种冒泡排序算法的例子,比较区别与联系!