java算法(一)——排序算法(上)
2016-06-12 14:42
295 查看
排序(sort)是将一组数据按照一定的规则来进行排列,一般按照递增或者递减的顺序来进行排列。排序算法是一种最基本的算法,但是在实际应用中非常广泛,对于初学编程人来说,排序算法也是最基本的算法之一。本节主要讲解排序算法中相对简单的几种,分别是:
1、冒泡排序
2、选择排序
3、插入排序
后边还会介绍一些,其他的排序方法,比如:shell排序、快速排序、堆排序等等。
前三种排序方式相对简单,但却非常基本,掌握之后用处很大。
1、冒泡排序
2、选择排序
3、插入排序
后边还会介绍一些,其他的排序方法,比如:shell排序、快速排序、堆排序等等。
1、冒泡排序 (简单基本)
public static void bubbleSort(int[] a) { int temp; for (int i = 1; i < a.length; i++) { //将相邻两个数进行比较,较大的数往后冒泡 for (int j = 0; j < a.length - i; j++) { if (a[j] > a[j + 1]) { //交换相邻两个数 temp=a[j]; a[j]=a[j+1]; a[j+1]=temp; } } System.out.print("第"+i+"步排序结果:"); //输出每步排序的结果 for(int k=0;k<a.length;k++) { System.out.print(" "+a[k]); // 输出 } System.out.print("\n"); } }
2、选择排序
public static void selectSort(int[] a) { int index,temp; for (int i = 0; i < a.length-1; i++) { index = i; for (int j = i+1; j <a.length; j++) { if (a[j] < a[index]) { index = j; } } //交换两个数 if(index!=i) { temp=a[i]; a[i]=a[index]; a[index]=temp; } System.out.print("第"+i+"步排序结果:"); //输出每步排序的结果 for(int h=0;h<a.length;h++) { System.out.print(" "+a[h]); //输出 } System.out.print("\n"); } }
3、插入排序
static void insertionSort(int[] a) //插入排序 { int i,j,t,h; for (i=1;i<a.length;i++) { t=a[i]; j=i-1; while(j>=0 && t<a[j]) { a[j+1]=a[j]; j--; } a[j+1]=t; System.out.print("第"+i+"步排序结果:"); //输出每步排序的结果 for(h=0;h<a.length;h++) { System.out.print(" "+a[h]); //输出 } System.out.print("\n"); } }
前三种排序方式相对简单,但却非常基本,掌握之后用处很大。
相关文章推荐
- 深入分析JavaWeb 52 -- Spring注解Annotation
- Java多线程 之 访问共享资源(六)
- 每个Java文件自动导入的library
- Eclipse和MyEclipse的区别
- 解决java.lang.OutOfMemoryError: unable to create new native thread问题
- java并发编程-读写锁
- 文件无法删除java.io.IOException: Unable to delete
- 深入分析JavaWeb 51 -- Spring依赖注入
- Java编程开发设计模式之--单例模式(Singleton)
- Java获取路径方法&相对路径读取xml文件方法
- 怎么阻止内存泄漏
- 深入分析JavaWeb 50 -- Spring开发入门
- 开源E框架(Bootstrap,spring boot)
- SPRING MVC 配置<MVC:RESOURCES/> 导致@CONTROLLER失效
- Class类与JAVA反射
- java.lang.outofmemoryerror:permgen space
- Java—恶心的java.lang.NumberFormatException解决
- Eclipse从本地压缩包安装插件
- spring security(六)
- eclipse, Log4j配置(真心的详细~)