冒泡算法是java中用来排序的算法,冒泡算法会改变原数据中数据的位置, 并不是仅仅排序,看清需求在决定用不用冒泡。
以一串数组为例,冒泡算法依据两个for循环嵌套,逐次比较,互换位置,直到位置不在改变时停止。
代码实现如下
int[] num={1,8,4,3,6,7,5};
public static void main(String args[]){
TestMain tm=new TestMain();
tm.descSort();
}
//mao paosuan fa
public void descSort(){
//cong da dao xiao
for (int i=0;i<num.length;i++){
for (int j=0;j<num.length-1-i;j++){
if(num[j]<num[j+1]){
int temp=num[j];
num[j]=num[j+1];
num[j+1]=temp;
}
}
}
//shu chu
for (int i=0;i<num.length;i++){
System.out.println(num[i]);
}
}
递归算法:递归算法:程序调用自身的编程技巧叫做递归。
递归的三个条件:自己调用自己,要有分支要有结束语句。
递归最具有代表性的就是求一个数的阶乘,代码如下:
public static void main(String args[]){
TestMain tm=new TestMain();
int ss=tm.jiecheng(5);
System.out.println(ss);
}
//di gui
public int jiecheng( int x){
int result=0;
if(x==1){
result=1;
return result;
}else {
result=x * jiecheng(x - 1);
return result;
}
}