1. /**
  2. *
  3. * @author Administrator
  4. * 功能:交换式排序之冒泡排序
  5. */
  6. package com.test1;
  7.  
  8. import java.util.Calendar;
  9.  
  10. public class BubbleSort {
  11.  
  12. public static void main(String[] args) {
  13. // TODO Auto-generated method stub
  14.  
  15. int[] arr = new int[50000];
  16. for (int i = 0; i < arr.length; i++) {
  17. //让程序随机产生一个1 - 10000个数
  18. //Math.random会产生一个0到1的数
  19. arr[i] = (int)(Math.random()*50000);
  20. }
  21. //int[] arr = { 1, 6, 0, -1, 9, -100, -90 };
  22. // 排序开始
  23. // 外层循环,它可以决定一共走几趟
  24.  
  25. Bubble bubble = new Bubble();
  26. //在排序前打印系统时间
  27. //Calendar是单开模式,在系统里面只有一个,且只需要一个实例,不是new 出来的
  28. //Java共有23中模式
  29. Calendar cal = Calendar.getInstance();
  30. System.out.println("排序前:"+cal.getTime());
  31. bubble.sort(arr);
  32. //在排序后打印系统时间
  33. //因为是单开的,所有首先重新得到实例
  34. cal = Calendar.getInstance();
  35. System.out.println("排序后:"+cal.getTime());
  36. // System.out.println("冒泡结束后结果是:");
  37. // for (int i = 0; i < arr.length; i++) {
  38. // System.out.print(arr[i] + " ");
  39. // }
  40.  
  41. }
  42.  
  43. }
  44.  
  45. class Bubble {
  46.  
  47. // 排序方法
  48. public void sort(int[] arr) {
  49. for (int i = 0; i < arr.length - 1; i++) {
  50. // 内层循环,开始逐个比较,如果发现
  51. // 前一个数比后一个数大,则交换
  52. for (int j = 0; j < arr.length - 1 - i; j++) {
  53. if (arr[j] > arr[j + 1]) {
  54. int temp = arr[j];
  55. arr[j] = arr[j + 1];
  56. arr[j + 1] = temp;
  57. }
  58. }
  59. }
  60.  
  61. // //简单数据类型会开辟另一个栈,复合类型会改变
  62. // public void swap(int a, int b)
  63. // {
  64. // if(a > b)
  65. // {
  66. // int temp = a;
  67. // a = b;
  68. // b = temp;
  69. // }
  70. // }
  71. }
  72. }

冒泡排序BubbleSort的更多相关文章

  1. 排序算法SIX:冒泡排序BubbleSort

    /** *冒泡排序: * 两个两个比较,一轮过后最大的排在了最后面 * n个数变为n-1个没排好的数 * 再进行一轮 * 第二大的排在了倒数第二个 * 以此类推 * 直到排到第一个为止 * * 弄两个 ...

  2. 排序之冒泡排序(bubblesort)

    package com.pailian; /* * 冒泡排序 * 比较相邻的俩位数,这样每轮比较都会出现一个最大值或最小值 * 下一轮比较就会减少一次(因为已经知道了一个最大值或最小值) * 注意根据 ...

  3. 冒泡排序(BubbleSort)

    介绍: 冒泡排序是一种最基础的交换排序(两两比较待排序的关键字,交换不满足次序要求的那对数,直到整个表都满足次序要求为止),工作方式如同碳酸饮料中的二氧化碳气泡最终会上浮到顶端一样,故名"冒 ...

  4. javascript版快速排序和冒泡排序

    var sort = (function () { //快速排序 var quickSort = { partition: function (array, low, high) { if (low ...

  5. 数据结构基础(1) --Swap & Bubble-Sort & Select-Sort

    Swap的简单实现 //C语言方式(by-pointer): template <typename Type> bool swapByPointer(Type *pointer1, Typ ...

  6. 排序方法整理Java - 冒泡排序、选择排序、插入排序、快速排序

    /** * 排序方法整理 * @author zhyea * */ public class Sort { /** * 冒泡排序,从小到大. * 冒泡排序是比较相邻的两个元素,若顺序错误,则执行交换. ...

  7. 排序系列 之 冒泡排序及其改进算法 —— Java实现

    冒泡排序算法 冒泡排序算法 改进一 冒泡排序算法 改进二 冒泡排序算法 改进三 冒泡排序算法 基本思想: 在要排序的一组数中,对当前还未排好序的范围内的全部数据,自上而下对相邻的两个数依次进行比较和调 ...

  8. BubbleSort

    看见了一些乱乱的东西,就想着整理一下,基础的冒泡排序 //BubbleSort #include<iostream> using namespace std; void BubbleSor ...

  9. 常见排序算法(附java代码)

    常见排序算法与java实现 一.选择排序(SelectSort) 基本原理:对于给定的一组记录,经过第一轮比较后得到最小的记录,然后将该记录与第一个记录的位置进行交换:接着对不包括第一个记录以外的其他 ...

随机推荐

  1. mina2.0 spring

    Apache MINA是一个网络应用程序框架,它可以帮助用户开发的高性能.高扩展性的网络应用程序.它提供了一个抽象的事件驱动的异步API在不同传输如TCP/IP和UDP/IP通过java NIO. A ...

  2. [数据结构] 成都磨子桥技工学校 Challenge Series

    Challenge 0: 第一次裸写竟然WA了.... Challenge 1: 不想写了.

  3. 393. UTF-8 Validation

    393. UTF-8 Validation 这个题很明确,刚开始我以为只能是一个utf,长度大于5的都判断为false,后来才明白题意. 有个小trick,就是长度大于1的时候,判断第一个数字开始1的 ...

  4. sgu 107 987654321 problem

    其实挺水的,因为两个数平方,只有固定的后面几位数会影响到最后结果的后面几位数.也就是说,如果想在平方之后尾数为987654321,那么就有固定的几个尾数在平方后会是这个数,打个表,发现 10^8 内 ...

  5. Python3 正则表达式

    字符串是编程时涉及到的最多的一种数据结构,对字符串进行操作的需求几乎无处不在.比如判断一个字符串是否是合法的Email地址,虽然可以编程提取@前后的子串,再分别判断是否是单词和域名,但这样做不但麻烦, ...

  6. php 工作模式

    PHP运行模式 1.cgi通用网关接口 (少用)2.fast-cgi常驻型的 cgi [ngixn常用]3.cli命令运行 (命令行用得多)4.web模块模式(apache等web服务器的运行模式)[ ...

  7. 使用jQuery.FileUpload插件和服Backload组件自定义上传文件夹

    在零配置情况下,文件的上传文件夹是根目录下的Files文件夹,如何自定义文件的上传文件夹呢? □ 在web.config中配置 1: <configuration> 2: <conf ...

  8. HTML5 canvas绘制雪花飘落动画(需求分析、知识点、程序编写分布详解)

    看到网上很多展示html5雪花飞动的效果,确实非常引人入胜,我相信大家也跟我一样看着心动的同时,也很好奇,想研究下代码如何实现:虽然哦很多地方也能下载这些源码,不过也不知道别人制作此类动画时的思路及难 ...

  9. struts2处理.do后缀的请求

    默认情况下,struts2是无法处理以.do为后缀的请求url的(默认情况下是.action或者不填,可以参见org.apache.struts2包下的default.properties文件). 但 ...

  10. DB2实用命令记录

    quiesce tablespace quiesce tablespaces for table <table_name> share; Monitor Switches details ...