Java常用的数组排序
2016-02-12 00:41
363 查看
1.冒泡排序法
public class Bubble { public static void main(String[] args) { // TODO Auto-generated method stub int [] array= {1,5,4,3}; //进行下称的轮数 比数组的个数少1 for(int i =0;i<array.length;i++) { //每一轮比较的次数为array.length-1-i for(int j =0;j<array.length-1-i;j++) { if(array[j]>array[j+1]) { int temp = array[j]; array[j] = array[j+1]; array[j+1] = temp; } } } /*int x = 0; while(x<array.length) { System.out.print(" "+array[x]); }*/ for(int i = 0;i<array.length;i++) { System.out.print(" "+array[i]); } } }
2.选择排序法
class Select { public static void main(String[] args) { int[] array = {10,8,20,5}; int min = 0;//保存最小元素的下标 //查找最小数的下标 for(int i = 0;i<array.length-1;i++) { min = i; for(int j=i+1;j<array.length;j++) { //如果当前这个最小值要比比较的这个当前下标的这个元素小,那么就交换下标值 if(array[min]>array[j]) { min = j; } } //除自己和自己的进行比较时才进行交换 if(i!=min) { int tem = array[i]; array[i] = array[min]; array[min] = tem; } } for(int i =0;i<array.length;i++) { System.out.print(" "+array[i]); } } }
3.插入排序法
class Insert { public static void main(String[] args) { int[] array = {20,45,7,65}; for(int i=1;i<array.length;i++) { int temp = array[i]; int j = i; while(j>0&&temp<array[j-1]) { array[j] = array[j-1]; j--; } array[j] = temp; } for(int i = 0;i<array.length;i++) { System.out.print(" "+array[i]); } } }
上边的如果不理解也没关系,在Arrays类里面就有排序的方法直接调用就行。我只是为了弄清排序的原理方法。
相关文章推荐
- jsp/servlet/struts/hibernate/spring内部实现机制
- java学习笔记之枚举类enum(转载)
- JUnit下测试SpringMVC的Controller
- 关于Spring MVC的参数绑定
- 如何处理大量并发用户访问网页,并且如何跟踪每个用户
- 从头认识Spring-2.1 自动装配(2)-byType(2)
- Struts2文件上传实例
- 从头认识Spring-2.1 自动装配(2)-byType(1)
- Struts2利用拦截器实现权限控制
- 从头认识Spring-2.1 自动装配(1)-byName
- java基础12多线程
- java中的构造方法
- java中的this
- java常见问题
- Java—设计模式(工厂模式)
- 栈的应用--四则运算表达式求值(java代码)
- JAVA比较两个日期相差的天数
- Arcgis server java develop begining
- Gradle教程Part2:java工程
- Java开发环境搭建