package com.liuxian.algo;

public class MySortClass implements Comparable<MySortClass> {
public String userName;
public int num; public MySortClass(String userName, int num) {
this.userName = userName;
this.num = num;
} public int compareTo(MySortClass o) {
return this.num - o.num;
}
}
package com.liuxian.algo;

public class Helper {
public static void printArray(MySortClass [] sorts) {
for (int i = 0; i < sorts.length; i++) {
System.out.println(sorts[i].num);
}
}
}
package com.liuxian.algo;

import java.util.Random;

public class BubbleSort {

    public static <AnyType extends Comparable<? super AnyType>> AnyType[]
bubbleSort(AnyType[] a) {
AnyType tmp; for (int i = 0; i < a.length; i++) {
for (int j = i; j > 0; j--) {
if((a[j].compareTo(a[j-1]) < 0)) {
tmp = a[j];
a[j] = a[j-1];
a[j-1] = tmp;
}
}
} return a;
} public static void main(String[] args) {
int max = 100;
Random random = new Random(100);
MySortClass[] sort = new MySortClass[10];
for (int i = 0; i < sort.length; i++) {
int num = random.nextInt(max);
sort[i] = new MySortClass(String.valueOf(num), num);
} Helper.printArray(sort);
System.out.println("after sort : ");
sort = bubbleSort(sort);
Helper.printArray(sort);
}
}

output:

15
50
74
88
91
66
36
88
23
13
after sort :
13
15
23
36
50
66
74
88
88
91

algo: 冒泡排序(Java实现)的更多相关文章

  1. 动态演示冒泡排序java

    动态演示冒泡排序java //冒泡排序是一种简单的交换排序,基本思路,从数列左边开始扫描元素,在扫描过程中依次对相邻元素进行比较,将较大元素后移. public class NumberSort { ...

  2. 基本排序算法——冒泡排序java实现

    冒泡排序是原理最简单的一种排序算法,具体思想就不多说了,代码如下: eclipse4.3中编译通过 package sort.basic; import java.util.Arrays; publi ...

  3. 冒泡排序-java

    排序-冒泡排序 基本思想:从一端开始,逐个比较相邻的两个元素,发现倒序即交换. 这里按从后往前(从下往上)逐个比较相邻元素. 平均时间:O(n2) 最好情况:O(n) 最坏情况:O(n2)(逆序) 辅 ...

  4. Java冒泡排序,Java对象冒泡排序

    今天呆公司特别无聊,百度了一下Java机试题,看到一个冒泡排序. 粘上我全部的代码: 实体类: package accp.com.internet;/** * 人物类 * @author xuxiao ...

  5. JAVA冒泡排序/JAVA冒泡排序再找出给定数据中的最大值最小值/JAVA数组排序

    //数组中排序    int in[] = {1,6,5,8,9};    Arrays.sort(in);    for(int i=0;i<in.length;i++){       Sys ...

  6. 冒泡排序java

    先对冒泡排序做一个简单的解释,然后是代码的实现.解释出资<java的数据结构和算法>,大家可以看看. 排序类: package com.dxx.order; public class Bu ...

  7. 冒泡排序----java实现

    冒泡排序思路:第1次:顺序比较从第0个到第len个(相邻两个)元素并把大的放后面,第一次进行完后,最大                                         的元素会在最后: ...

  8. 数据结构算法之冒泡排序——Java语言实现

    今天来谈下冒泡排序算法,这次实现由两种形式如下所示: 1.对于长度为N的数据序列,没有加标签限制,针对一开始就是有序的数据序列,仍然需要排序N-1趟来完成排序. 2.对于长度为N的数据序列,加标了签限 ...

  9. Bubble(冒泡排序)————Java

    用Java进行冒泡排序的代码,利用一个flag进行优化算法: import java.util.Scanner; public class Bubble_Sort { private static i ...

随机推荐

  1. Android应用开发:网络工具——Volley(二)

    引言 在Android应用开发:网络工具--Volley(一)中结合Cloudant服务介绍了Volley的一般使用方法.当中包括了两种请求类型StringRequest和JsonObjectRequ ...

  2. 使用@Scheduled注解编写spring定时任务

    import org.springframework.context.support.ClassPathXmlApplicationContext; import org.springframewor ...

  3. C# 自定义控件制作和使用实例(winform)(转)

    本例是制作一个简单的自定义控件,然后用一个简单的测试程序,对于初学者来说,本例子比较简单,只能起到抛石引玉的效果. 我也是在学习当中,今后会将自己所学的逐步写出来和大家交流共享.   第一步:新建一个 ...

  4. jQuery学习笔记(9)--jquery中的事件--$(document).ready()

    1.$(document).ready()方法是事件模块中最重要的一个函数,可以极大地提高web应用程序的相应速度. 2.执行时机:DOM就绪后就会执行,而javascript中window.onlo ...

  5. 九度OJ 1160:放苹果 (DFS)

    时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:998 解决:680 题目描述: 把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和 ...

  6. 九度OJ 1063:整数和 (基础题)

    时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:3456 解决:2254 题目描述: 编写程序,读入一个整数N. 若N为非负数,则计算N到2N之间的整数和: 若N为一个负数,则求2N到N之间 ...

  7. 24、Cocos2dx 3.0游戏开发找小三之网格动作:高炫酷的3D动作

    重开发人员的劳动成果,转载的时候请务必注明出处:http://blog.csdn.net/haomengzhu/article/details/37596763 网格动作类似于动作特效,能够实现翻转. ...

  8. 在linux 中卸载Mysql

    一.通用的mysql卸载方式 1.查看系统中是否已经安装了mysql 命令:rpm -qa|grep -i mysql如果有显示msql的安装列表,代表已经安装了. 2.停止mysql服务.删除之前安 ...

  9. 获取原生的DOM方式,DIY脚手架,vue-cli的使用

    一 . 获取原生的DOM的方式 在js中,我们可以通过id, class 或者标签获取DOM元素,vue中也为我们提供了获取原生DOM的方法,就是给标签或者组件添加 ref 属性,通过 this.$r ...

  10. JDBC超时原理与设置

    抄录自网上,因为担心以后找不到,因此抄录之.感谢分享的大神! 英文原版:http://www.cubrid.org/blog/dev-platform/understanding-jdbc-inter ...