java排序(选择排序+插入排序+冒泡排序+递归)
2016-02-19 20:38
471 查看
![](http://images2015.cnblogs.com/blog/800044/201602/800044-20160219203736816-383827731.jpg)
![](http://images2015.cnblogs.com/blog/800044/201602/800044-20160219203737534-1980766753.jpg)
![](http://images2015.cnblogs.com/blog/800044/201602/800044-20160219203738066-1307953919.jpg)
D:递归
![](http://images2015.cnblogs.com/blog/800044/201602/800044-20160219203738691-493240661.jpg)
![](http://images2015.cnblogs.com/blog/800044/201602/800044-20160219203739144-916492428.jpg)
----------------------------
代码演示:package day06;/** * 选择排序 * 每次找出一个最小的值,放到最前面 * @author yw.wang * */public class Test12 {public static void main(String[] args) { Test12 t12 = new Test12(); t12.xz(); //选择排序 t12.cr(); //插入排序 t12.mp(); //冒泡排序 t12.dg(4); // 递归 System.out.println( t12.dg(4));}//选择排序,每次找出最小的值,放在最前面public void xz(){ int x[] = {12,9,45,2,13,27,48,79,56,38};//对这一行数进行从小到大的排序 int min =0,t=0;//min代表最小的值,t表示最小的值的下标 for(int i=0;i<x.length;i++) //遍历x数组 { min =x[i]; //认为第一个值是最小值 t=i; for(int j=i+1;j<x.length;j++){ if(min>x[j]){ min = x[j]; t=j; //这样可以找出这一行最小的值 } } x[t]=x[i]; x[i]=min; //这样可以把每次找出来的值赋值给第一个 } for (int i = 0; i < x.length; i++) { System.out.print(x[i]+" "); }}//-------------------------------------------//插入排序public void cr(){ int [] x = {12,9,45,2,13,27,48,79,56,38}; for(int i=1;i<x.length;i++){ //下标从1开始,默认不动第一个数,拿出第二个开始比较 int k =x[i];//要插入的数 int j=i-1;//记住位移之后的位置 //判断,如果当前的值大于插入的数,进行位移 while(j>=0&&x[j]>k){ x[j+1]=x[j]; j--; } x[j+1]=k; } for (int i = 0; i < x.length; i++) { System.out.print(x[i]+" "); } System.out.println();}//---------------------------------------//冒泡排序public void mp(){ int x []={12,9,45,2,13,27,48,79,56,38}; int t =0; for(int j=x.length-1;j>=0;j--){ for(int i=0;i<j;i++){ if(x[i] > x[i+1]){ t=x[i]; x[i]=x[i+1]; x[i+1]=t; } } } for (int i = 0; i < x.length; i++) { System.out.print(x[i]+" "); } }//-------------------------------//递归public int dg(int n){ if(n ==0){ return 1; }else{ return n*dg(n-1);//4*dg(3) 4!=4*3! }}}
来自为知笔记(Wiz)
相关文章推荐
- java数组(一维数组,二维数组)
- java面向对象小总结
- Java实现KMP算法
- Eclipse 配置SSH 详解
- 最终有SpringMvc与Struts2的对照啦
- java核心技术学习笔记(一)
- Java中print、printf、println的区别
- java的Frame和JFrame中的paint方法区别
- java web项目启动即加载类
- java 汉字转拼音
- SpringMVC概要总结
- macbook下eclipse svn环境配置
- JAVA 中ArrayList如何去除重复项方法。
- java String.split()函数的用法分析
- 【Java学习笔记】I/O
- Java认证考试实例疑难辨析(10)
- SpringMVC_入门项目
- SpringMVC+shiro+hibernate权限管理整合
- AS导入eclipse项目中文乱码
- javaIO框架小析