文档章节

Java实现三种简单排序方法:冒泡、 插入、选择

孙千
 孙千
发布于 2015/01/20 21:55
字数 378
阅读 6
收藏 0

package sorting; import java.util.*; public class Sorting {

/**
 * @param args
 */
public static void main(String[] args) {
	// TODO Auto-generated method stub
	int arr[]={12,23,11,1,13,45,99,43,15,55,34,33,45,89,87};
	//显示当前时间
	Calendar cal=Calendar.getInstance();
	System.out.println("开始时间"+cal.getTimeInMillis());
	
	InsertSrot ss=new InsertSrot();
	ss.sort(arr);
	//重获日历实例
	cal=Calendar.getInstance();
	System.out.println("结束时间"+cal.getTimeInMillis());
	
}

} //插入排序 class InsertSrot{ public void sort(int arr[]){ //输出排序前 for(int i=0;i<arr.length;i++) System.out.print(arr[i]+" "); System.out.println("这是排序前"); //排序 for(int i=1;i<arr.length;i++){ int insertVal=arr[i]; int index=i-1; while(index>=0&&insertVal<arr[index]){ arr[index+1]=arr[index]; index--; } arr[index+1]=insertVal; //打印当次 for(int k=0;k<arr.length;k++) System.out.print(arr[k]+" "); System.out.println("第"+(i+1)+"轮排序"); }

}

} //选择排序 class SelectSort{ public void sort(int arr[]){ //输出排序前 for(int k=0;k<arr.length;k++) System.out.print(arr[k]+" "); System.out.println("这是排序前"); //排序 for(int i=0;i<arr.length-1;i++){ int min=arr[i]; int minIndex=i; //找到当次最小 for(int j=i+1;j<arr.length;j++){ if(arr[j]<min){ min=arr[j]; minIndex=j; } } //交换最小 int temp=arr[i]; arr[i]=min; arr[minIndex]=temp; //打印当次 for(int k=0;k<arr.length;k++) System.out.print(arr[k]+" "); System.out.println("第"+(i+1)+"轮排序"); } } } //冒泡排序 class BubbleSort { public void sort(int arr[]){ //输出排序前 for(int k=0;k<arr.length;k++) System.out.print(arr[k]+" "); System.out.println("这是排序前"); //开始冒泡排序 for(int i=0;i<arr.length-1;i++){ for(int j=0;j<arr.length-i-1;j++){ if(arr[j]>arr[j+1]){ int temp=arr[j+1]; arr[j+1]=arr[j]; arr[j]=temp; } } //打印当次 for(int k=0;k<arr.length;k++) System.out.print(arr[k]+" "); System.out.println("第"+(i+1)+"轮排序");

	}
}

}

© 著作权归作者所有

孙千
粉丝 0
博文 2
码字总数 833
作品 0
郑州
程序员
私信 提问
java排序之快速排序、归并排序、基数排序

前两篇说了Java排序中的冒泡、选择、插入、希尔等排序算法,今天就探讨一下剩下的三种常用排序。 快速排序: 当要求时间最快时,就可以用快速排序算法。 选择第一个数为p,小于p的数放在左边...

野小疯
2018/06/05
49
0
面试 11:玩转 Java 归并排序

面试 11:Java 玩转归并排序 前面讲了冒泡、选择、插入三种简单排序,时间复杂度都是 O(n²),今天,我们终于迎来了更高级的排序:归并排序。 虽然在这之前还有希尔排序和堆排序,但由于时间...

nanchen2251
2018/07/18
0
0
JAVA中运用数组的四种排序方法

JAVA中在运用数组进行排序功能时,一般有四种方法:快速排序法、冒泡法、选择排序法、插入排序法。 快速排序法主要是运用了Arrays中的一个方法Arrays.sort()实现。 冒泡法是运用遍历数组进...

IceRainYWC
2014/03/17
29
0
JAVA中运用数组的四种排序方法

JAVA中在运用数组进行排序功能时,一般有四种方法:快速排序法、冒泡法、选择排序法、插入排序法。 快速排序法主要是运用了Arrays中的一个方法Arrays.sort()实现。 冒泡法是运用遍历数组进...

闫三
2012/05/08
62
0
面试 10:玩转 Java 选择排序和插入排序

面试 10:Java 玩转选择排序和插入排序 昨天给大家讲解了 Java 玩转冒泡排序,大家一定觉得并没有什么难度吧,不知道大佬们玩转了吗?不知道大家有没有多加思考,实际上在我们最后的一种思路...

nanchen2251
2018/07/17
0
0

没有更多内容

加载失败,请刷新页面

加载更多

最简单的获取相机拍照的图片

  import android.content.Intent;import android.graphics.Bitmap;import android.os.Bundle;import android.os.Environment;import android.provider.MediaStore;import andr......

MrLins
26分钟前
4
0
说好不哭!数据可视化深度干货,前端开发下一个涨薪点在这里~

随着互联网在各行各业的影响不断深入,数据规模越来越大,各企业也越来越重视数据的价值。作为一家专业的数据智能公司,个推从消息推送服务起家,经过多年的持续耕耘,积累沉淀了海量数据,在...

个推
28分钟前
7
0
第三方支付-返回与回调注意事项

不管是支付宝,微信,还是其它第三方支付,第四方支付,支付机构服务商只要涉及到钱的交易都要进行如下校验,全部成功了才视为成功订单 1.http请求是否成功 2.校验商户号 3.校验订单号及状态...

Shingfi
31分钟前
4
0
简述Java内存分配和回收策略以及Minor GC 和 Major GC(Full GC)

内存分配: 1. 栈区:栈可分为Java虚拟机和本地方法栈 2. 堆区:堆被所有线程共享,在虚拟机启动时创建,是唯一的目的是存放对象实例,是gc的主要区域。通常可分为两个区块年轻代和年老代。更...

DustinChan
36分钟前
6
0
Excel插入批注:可在批注插入文字、形状、图片

1.批注一直显示:审阅选项卡-------->勾选显示批注选项: 2.插入批注快捷键:Shift+F2 组合键 3.在批注中插入图片:鼠标右键点击批注框的小圆点【重点不可以在批注文本框内点击】----->调出批...

东方墨天
今天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部