嘿嘿,很久没有温习算法知识了,今天网上看到一篇对冒泡排序知识讲解很详细的一篇文章,来记录学习一下~
假设数组 int[] array={3,2,5,6,8,9,7,5,2,3,1};
从后往前遍历,升序排列 int times=array.length; for (int i=0;i<times-1;i++){ for (int j=times-1;j>i;j--){ if (array[j]<array[j-1]){ int temp=array[j-1]; array[j-1]=array[j]; array[j]=temp; } } }
从后往前遍历,降序排列
for (int k=0;k<times-1;k++){ for (int q=times-1;q>k;q--){ if (array[q]>array[q-1]){ int temp=array[q-1]; array[q-1]=array[q]; array[q]=temp; } } }
从前往后遍历,升序排列
for (int k=0;k<times-1;k++){ for (int q=0;q<times-1-k;q++){ if (array[q+1]<array[q]){ int temp=array[q+1]; array[q+1]=array[q]; array[q]=temp; } } }
从前往后遍历,降序排列
for (int m=0;m<times-1;m++){ for (int n=m;n<times-1;n++){ if (array[n+1]>array[n]){ int temp=array[n]; array[n]=array[n+1]; array[n+1]=temp; } } }
均可实现所要达到的排序效果
for (int k=0;k<array.length;k++ ) { UtilsLog.prints("hs->"+array[k]); }
小编今天学习到这里了,欢迎大神们指教。
再次感谢博主Code综艺圈 的文字分享!
————————————————
版权声明:本文为CSDN博主「Code综艺圈」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/zyq025/article/details/115653629