冒泡排序3中方法
2016-08-05 16:46
267 查看
package cn.mdln.demo;
import java.util.Arrays;
/*
* 冒泡排序(初级版,优化版,最终版)
*/
public class Demo4 {
public static void main(String[] args) {
int array[]=new int[]{10,1,9,2,8,3,7,4,6,5};
long start=System.currentTimeMillis();
sort1(array);
long end=System.currentTimeMillis();
System.out.println("时间差:"+(end-start));
System.out.println("--------------------------------");
long start1=System.currentTimeMillis();
sort2(array);
long end1=System.currentTimeMillis();
System.out.println("时间差:"+(end1-start1));
System.out.println("--------------------------------");
long start2=System.currentTimeMillis();
sort3(array);
long end2=System.currentTimeMillis();
System.out.println("时间差:"+(end2-start2));
}
public static void sort1(int []a)//初级版
{
for(int i=0;i<a.length;i++)
{
System.out.print("第"+(i+1)+"趟比较:");
for(int j=0;j<a.length-1;j++)
{
System.out.print("第"+(j+1)+"次比较:");
if(a[j]>a[j+1])
{
int temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
System.out.println(Arrays.toString(a));
}
}
}
public static void sort2(int []a)//优化版
{
for(int i=0;i<a.length;i++)
{
System.out.print("第"+(i+1)+"趟比较:");
for(int j=0;j<a.length-1-i;j++)
{
System.out.print("第"+(j+1)+"次比较:");
if(a[j]>a[j+1])
{
int temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
System.out.println(Arrays.toString(a));
}
}
}
public static void sort3(int []a)//最终版
{
boolean flag=true;
for(int i=0;i<a.length;i++)
{
flag=true;
System.out.print("第"+(i+1)+"趟比较:");
for(int j=0;j<a.length-1-i;j++)
{
System.out.print("第"+(j+1)+"次比较:");
if(a[j]>a[j+1])
{
int temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
flag=false;
}
System.out.println(Arrays.toString(a));
}
if(flag)
break;
}
}
}
import java.util.Arrays;
/*
* 冒泡排序(初级版,优化版,最终版)
*/
public class Demo4 {
public static void main(String[] args) {
int array[]=new int[]{10,1,9,2,8,3,7,4,6,5};
long start=System.currentTimeMillis();
sort1(array);
long end=System.currentTimeMillis();
System.out.println("时间差:"+(end-start));
System.out.println("--------------------------------");
long start1=System.currentTimeMillis();
sort2(array);
long end1=System.currentTimeMillis();
System.out.println("时间差:"+(end1-start1));
System.out.println("--------------------------------");
long start2=System.currentTimeMillis();
sort3(array);
long end2=System.currentTimeMillis();
System.out.println("时间差:"+(end2-start2));
}
public static void sort1(int []a)//初级版
{
for(int i=0;i<a.length;i++)
{
System.out.print("第"+(i+1)+"趟比较:");
for(int j=0;j<a.length-1;j++)
{
System.out.print("第"+(j+1)+"次比较:");
if(a[j]>a[j+1])
{
int temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
System.out.println(Arrays.toString(a));
}
}
}
public static void sort2(int []a)//优化版
{
for(int i=0;i<a.length;i++)
{
System.out.print("第"+(i+1)+"趟比较:");
for(int j=0;j<a.length-1-i;j++)
{
System.out.print("第"+(j+1)+"次比较:");
if(a[j]>a[j+1])
{
int temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
System.out.println(Arrays.toString(a));
}
}
}
public static void sort3(int []a)//最终版
{
boolean flag=true;
for(int i=0;i<a.length;i++)
{
flag=true;
System.out.print("第"+(i+1)+"趟比较:");
for(int j=0;j<a.length-1-i;j++)
{
System.out.print("第"+(j+1)+"次比较:");
if(a[j]>a[j+1])
{
int temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
flag=false;
}
System.out.println(Arrays.toString(a));
}
if(flag)
break;
}
}
}
相关文章推荐
- 解决listview中edittext问题
- JAVA 并发编程-线程与进程的由来(一)
- heartbeat httpd nfs 实现高可用web集群
- 各编程语言中的注释格式
- Leetcode之路 338. Counting Bits
- Vector初始化及用法
- Python监控日志程序
- 05JavaIO详解_仿照IO源码自己去实现一个IO流(为了加深印象,本身没有价值)
- 贝塞尔曲线初探
- Java设计模式——工厂设计模式
- 生产场景NFS共享存储优化及实战
- 九度OJ 1138 进制转换
- 从context分析到脱离三方app的dialog
- [置顶] 设置双卡不同的来电默认铃声
- GIT 生成 SSH key
- [译]RxJS 5.X基础篇
- hdu 1547(BFS)
- Java中导入、导出Excel
- Mongodb集群小结
- 自己实现文件拷贝