Java基础(45):冒泡排序的Java封装(完整可运行)
1.冒泡排序
package lsg.ap.bubble;
import java.util.*;
public class BubbleSort
{
public static void bubbleSort(int[] array)
{
int temp;
// 第一层循环: 表明要比较的次数,即需要比较多少轮
//第二层循环:每个元素依次与每轮的第一个元素(i指示的元素,i会每轮
//递增1,要注意这点)进行比较,每一轮都把最大的元素冒泡到顶部
for(int i=0;i<array.length;i++)
{
for(int j=0;j<array.length-1-i;j++)
{
if(array[i]>array[j])
{
temp=array[i];
array[i]=array[j];
array[j]=temp;
}
}
}
}
/**
*
* 输出相应数组的结果
* @param array
*/
private static void printArray(int[] array)
{
for(int value:array)
{
System.out.print(" "+value+" ");
}
System.out.println();
}
public static void main(String[] args)
{
//小数据量的测试
int[] array=new int[]{3,44,38,5,47};
//下面是大数据量的测试。这样才能看出不同算法的优劣
Random random=new Random();
int[] array2=new int[2000];
for(int j=0;j<2000;j++)
{
array2[j]=random.nextInt(100000);
}
System.out.println("排序前数组元素为:");
printArray(array);
long dateStart=System.nanoTime();
bubbleSort(array);
long dateEnd= System.nanoTime();
long totalTime=dateEnd-dateStart;
System.out.println("冒泡排序的时间复杂度为:");
System.out.println(totalTime+"纳秒");
System.out.println("排序后数组元素为:");
printArray(array);
}
}
Java基础(45):冒泡排序的Java封装(完整可运行)的更多相关文章
- Java基础-面向对象第一特性之封装(Encapsulation)
Java基础-面向对象第一特性之封装(Encapsulation) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.理解什么是面向过程和面向对象 面向过程与面向对象都是我们编程中 ...
- Java基础系列1:Java基本类型与封装类型
Java基础系列1:Java基本类型与封装类型 当初学习计算机的时候,教科书中对程序的定义是:程序=数据结构+算法,Java基础系列第一篇就聊聊Java中的数据类型. 本篇聊Java数据类型主要包括两 ...
- 【Java基础】11、java方法中只有值传递,没有引用传递
public class Example { String testString = new String("good"); char[] testCharArray = {'a' ...
- 【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 ...
- 夯实Java基础系列1:Java面向对象三大特性(基础篇)
本系列文章将整理到我在GitHub上的<Java面试指南>仓库,更多精彩内容请到我的仓库里查看 [https://github.com/h2pl/Java-Tutorial](https: ...
- 夯实Java基础系列5:Java文件和Java包结构
目录 Java中的包概念 包的作用 package 的目录结构 设置 CLASSPATH 系统变量 常用jar包 java软件包的类型 dt.jar rt.jar *.java文件的奥秘 *.Java ...
- Java基础系列1:Java面向对象
该系列博文会告诉你如何从入门到进阶,一步步地学习Java基础知识,并上手进行实战,接着了解每个Java知识点背后的实现原理,更完整地了解整个Java技术体系,形成自己的知识框架. 概述: Java是面 ...
- java基础学习03(java基础程序设计)
java基础程序设计 一.完成的目标 1. 掌握java中的数据类型划分 2. 8种基本数据类型的使用及数据类型转换 3. 位运算.运算符.表达式 4. 判断.循环语句的使用 5. break和con ...
- java基础3.0:Java常用API
本篇介绍Java基础中常用API使用,当然只是简单介绍,围绕重要知识点引入,巩固开发知识,深入了解每个API的使用,查看JavaAPI文档是必不可少的. 一.java.lang包下的API Java常 ...
随机推荐
- git 第一次初始化
Command line instructions Git global setup git config --global user.name "{名字}({工号})" git ...
- [dpdk] 读官方文档(2)
续前节.切好继续: 一,文档里提到uio_pci_generic, igb_uio, vfio_pci三个内核模块,完全搞不懂,以及dpdk-devbind.py用来查看网卡状态,我得到了下边的输出: ...
- install zabbix-agent on CENTOS
in ubuntu--https://www.digitalocean.com/community/tutorials/how-to-install-zabbix-on-ubuntu-configur ...
- php源码安装
要用swoole,首先需要有PHP环境.由于swoole的某些特性,最好是能够从源码编译安装PHP,这样在使用过程中可以避免很多不必要的错误.PHP下载地址:http://php.net/在这里挑选你 ...
- php--group_concat()函数总结
group_concat(),手册上说明:该函数返回带有来自一个组的连接的非NULL值的字符串结果. 比较抽象,难以理解. 通俗点理解,其实是这样的:group_concat()会计算哪些行属于同一组 ...
- OO之美3
面向对象和基于对象 基于对象:所以基于对象,就是一种对数据类型的抽象,封装一个结构包含了数据和函数,然后以对象为目标进行操作.构建的基础是对象,但是操作对象并不体现出面向对象的继承性,也就是基于对象局 ...
- mac开启服务命令
开启mysql mysql.server start 开启nginx sudo nginx 重启nginx sudo nginx -s reload 开启apach ...
- android 打开软件出现红框
android打开软件的时候会出现红框,剑锋之前解了这个问题.fork过来,方便以后查看. 参考链接: http://www.cnblogs.com/zengjfgit/p/5377744.html ...
- chem02-- ajax登录
1.ajaxLogin.jsp <%@ page language="java" contentType="text/html; charset=UTF-8&quo ...
- iOS苹果开发者客服电话地址
苹果开发者客服电话地址:https://developer.apple.com/contact/phone.php 中国大陆地区客服电话:4006 701 855 中国香港地区客服电话:(852) 2 ...