1.冒泡排序

  1. package lsg.ap.bubble;
  2. import java.util.*;
  3. public class BubbleSort
  4. {
  5.  
  6. public static void bubbleSort(int[] array)
  7. {
  8. int temp;
  9. // 第一层循环: 表明要比较的次数,即需要比较多少轮
  10. //第二层循环:每个元素依次与每轮的第一个元素(i指示的元素,i会每轮
  11. //递增1,要注意这点)进行比较,每一轮都把最大的元素冒泡到顶部
  12. for(int i=0;i<array.length;i++)
  13. {
  14.  
  15. for(int j=0;j<array.length-1-i;j++)
  16. {
  17.  
  18. if(array[i]>array[j])
  19. {
  20.  
  21. temp=array[i];
  22.  
  23. array[i]=array[j];
  24.  
  25. array[j]=temp;
  26.  
  27. }
  28.  
  29. }
  30. }
  31. }
  32. /**
  33. *
  34. * 输出相应数组的结果
  35. * @param array
  36. */
  37. private static void printArray(int[] array)
  38. {
  39. for(int value:array)
  40. {
  41. System.out.print(" "+value+" ");
  42.  
  43. }
  44. System.out.println();
  45. }
  46. public static void main(String[] args)
  47. {
  48. //小数据量的测试
  49. int[] array=new int[]{3,44,38,5,47};
  50. //下面是大数据量的测试。这样才能看出不同算法的优劣
  51. Random random=new Random();
  52. int[] array2=new int[2000];
  53. for(int j=0;j<2000;j++)
  54. {
  55. array2[j]=random.nextInt(100000);
  56. }
  57. System.out.println("排序前数组元素为:");
  58. printArray(array);
  59. long dateStart=System.nanoTime();
  60. bubbleSort(array);
  61. long dateEnd= System.nanoTime();
  62. long totalTime=dateEnd-dateStart;
  63. System.out.println("冒泡排序的时间复杂度为:");
  64. System.out.println(totalTime+"纳秒");
  65. System.out.println("排序后数组元素为:");
  66. printArray(array);
  67. }
  68.  
  69. }

Java基础(45):冒泡排序的Java封装(完整可运行)的更多相关文章

  1. Java基础-面向对象第一特性之封装(Encapsulation)

    Java基础-面向对象第一特性之封装(Encapsulation) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.理解什么是面向过程和面向对象 面向过程与面向对象都是我们编程中 ...

  2. Java基础系列1:Java基本类型与封装类型

    Java基础系列1:Java基本类型与封装类型 当初学习计算机的时候,教科书中对程序的定义是:程序=数据结构+算法,Java基础系列第一篇就聊聊Java中的数据类型. 本篇聊Java数据类型主要包括两 ...

  3. 【Java基础】11、java方法中只有值传递,没有引用传递

    public class Example { String testString = new String("good"); char[] testCharArray = {'a' ...

  4. 【Java基础】4、java中的内部类

    内部类的分类:常规内部类.静态内部类.私有内部类.局部内部类.匿名内部类. 实例1:常规内部类 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 2 ...

  5. 夯实Java基础系列1:Java面向对象三大特性(基础篇)

    本系列文章将整理到我在GitHub上的<Java面试指南>仓库,更多精彩内容请到我的仓库里查看 [https://github.com/h2pl/Java-Tutorial](https: ...

  6. 夯实Java基础系列5:Java文件和Java包结构

    目录 Java中的包概念 包的作用 package 的目录结构 设置 CLASSPATH 系统变量 常用jar包 java软件包的类型 dt.jar rt.jar *.java文件的奥秘 *.Java ...

  7. Java基础系列1:Java面向对象

    该系列博文会告诉你如何从入门到进阶,一步步地学习Java基础知识,并上手进行实战,接着了解每个Java知识点背后的实现原理,更完整地了解整个Java技术体系,形成自己的知识框架. 概述: Java是面 ...

  8. java基础学习03(java基础程序设计)

    java基础程序设计 一.完成的目标 1. 掌握java中的数据类型划分 2. 8种基本数据类型的使用及数据类型转换 3. 位运算.运算符.表达式 4. 判断.循环语句的使用 5. break和con ...

  9. java基础3.0:Java常用API

    本篇介绍Java基础中常用API使用,当然只是简单介绍,围绕重要知识点引入,巩固开发知识,深入了解每个API的使用,查看JavaAPI文档是必不可少的. 一.java.lang包下的API Java常 ...

随机推荐

  1. Python中整数和浮点数

    Python支持对整数和浮点数直接进行四则混合运算,运算规则和数学上的四则运算规则完全一致. 基本的运算: 1 + 2 + 3 # ==> 6 4 * 5 - 6 # ==> 14 7.5 ...

  2. $_SERVER存储

    $_SERVER["QUERY_STRING"], $_SERVER["REQUEST_URI"], $_SERVER["SCRIPT_NAME&qu ...

  3. js解析Json字符串的方法

      要把一个xml字符串转(“1,2,3,4,5,6,7,8,1,2”)换成数组的形式,每个值都应该是number类型的,想当然的就用了split方法,结果...问题来了,服务器要求数组的值是数字,而 ...

  4. js 判断js函数、变量是否存在

    //是否存在指定函数 function isExitsFunction(funcName) { try { if (typeof(eval(funcName)) == "function&q ...

  5. Python基本数据类型之list列表

    列表是python中用的非常频繁的数据结构,它是有序序列.之前学的字符串就是一种有序序列.不过列表是可变的. 创建列表 li = list( )                          #构 ...

  6. 记录下 QT Linux 静态编译遇到的坑

    Qt下静态编译Qt,根据我的经验,如果按照Windows下那种直接拿官方sdk安装之后的文件来编译是行不通的,需要直接下载Qt的source包,目前诺基亚的源码叫做qt-everywhere-open ...

  7. php--tp3.2引入sphinx搜索

    1.首先我们把coreseek下载好,命名为coreseek,我们找到coreseek/etc中的csft_mysql.conf修改这个配置文件 #源定义 source lemai { type    ...

  8. Java Binary Tree DFS

    DFS Recursion: public void DFS(TreeNode root){ if(root == null){ return; } System.out.println(root.v ...

  9. php命名空间详解

    index.php: <?php include 'demo.php'; use A\demo as test; use B\demo as test2; use C\demo; $obj = ...

  10. Foundation of 3D computer Graphics--Reading notes

    2.1 几何数据类型 向量表示两个点之间的移动,点表示位置. 2.2 向量,坐标向量和基 向量$\overrightarrow{v}$ ,坐标向量c,基向量$\overrightarrow{b^{t} ...