一共面试过两次,每次都有冒泡排序.我也不知道为什么这么实用,但我确实写不出来.记录一下方便记忆和理解.希望可以帮助到你
首先介绍一下冒泡排序的原理:比较两个相邻的元素,如果第一个比第二个数大,那么互相交换位置,确定最后一个是最大的,然后同理再来一次确定倒数第2个最大的,直到结束.
public void maopao(int[] a){
//首先定义一个变量 ,用来互换元素
int temp;
//在定义一个Boolean类型的值 用来提升效率,假如说第一次比较第一个数全部比第二个数小,那么就没有比较的必要了.
Boolean flag=true;
for(int i=0;i<a.length-1&& falg;i++){//排序的次数
flag=false;
for(int j=0;j<a.length-1-i;j++){
if(a[j+1]<a[j]){
temp=a[j+1];
a[j+1]=a[j];
a[j]=temp;
flag=true;
}}
}
}
大家有什么意思可以提,我还是加强一下记忆.也许有抄袭.如果你有更好的方法请分享出来,大家一起进步