冒泡排序学习
来源:互联网 发布:java注解原理 编辑:程序博客网 时间:2024/05/29 04:27
冒泡排序:
1、第一个和第二个元素依次比较,如果前一个大于后一个则,将两个元素的值交换,后一个元素再与下一个元素进行比较,直到最后一个元素。此时得到的最后一个元素将是数组中最大的元素。最大的元素固定,不在进行比较操作;
2、再从第一个第二个开始依次比较,如果前一个大于后一个则,将两个元素的值交换,后一个元素再与下一个元素进行比较,直到倒数第二个元素。此时得到的倒数第二个元素是数组中第二大的元素,这个元素也固定,不在进行比较操作;
...
3、按照上述规则一直操作,直到确定最小元素位为止;得到的结果将是按照从小到大顺序排列的数组;
代码如下:
public class BubbleSort {
private static int num=0;//循环次数
public static int[] sort(int[] forSort,int length){
if(length>0){
for(int i = 0; i<length-1 ; i++ ){
num++;
if(forSort[i]>forSort[i+1]){
int temp = forSort[i];
forSort[i] = forSort[i+1];
forSort[i+1] = temp;
}
}
length--;
System.out.println("分次结果:"+Arrays.toString(forSort) +", length="+ length);
sort(forSort, length);
}
return forSort;
}
public static void main(String[] args) {
int[] array = {2,5,6,8,5,4,6,9,4,9};
array = sort(array, array.length-1);
System.out.println("最后结果:"+Arrays.toString(array)+",num="+num);
}
}
执行结果如下:
分次结果:[2, 5, 6, 5, 4, 6, 8, 4, 9, 9], length=8
分次结果:[2, 5, 5, 4, 6, 6, 4, 8, 9, 9], length=7
分次结果:[2, 5, 4, 5, 6, 4, 6, 8, 9, 9], length=6
分次结果:[2, 4, 5, 5, 4, 6, 6, 8, 9, 9], length=5
分次结果:[2, 4, 5, 4, 5, 6, 6, 8, 9, 9], length=4
分次结果:[2, 4, 4, 5, 5, 6, 6, 8, 9, 9], length=3
分次结果:[2, 4, 4, 5, 5, 6, 6, 8, 9, 9], length=2
分次结果:[2, 4, 4, 5, 5, 6, 6, 8, 9, 9], length=1
分次结果:[2, 4, 4, 5, 5, 6, 6, 8, 9, 9], length=0
最后结果:[2, 4, 4, 5, 5, 6, 6, 8, 9, 9],num=36
- 学习冒泡排序
- 学习日记:冒泡排序
- 冒泡排序算法学习
- 冒泡排序学习笔记
- Java学习---冒泡排序
- 算法学习,冒泡排序
- 冒泡排序学习文档
- java学习--冒泡排序
- 算法学习---冒泡排序
- 冒泡排序--学习笔记
- 冒泡排序学习
- 学习一下 冒泡排序
- 交换排序:冒泡排序 学习
- 排序学习_冒泡排序
- 排序算法学习-冒泡排序
- js 冒泡排序--学习笔记
- 冒泡排序 --学习(二)
- C++学习之--冒泡排序
- 微信小程序-0.11.122100版本更新问题
- 子页面通过js获取获控制父页面
- 动态规划 06题
- c++memset函数的使用方法
- JS实现的数字千分位符格式化方法
- 冒泡排序学习
- LeetCode 69. Sqrt(x)
- js遇到的若干问题
- 经典线程同步总结 关键段 事件 互斥量 信号量
- 安卓开发,高德地图5.0版本导航部分手机出现白屏
- 虚数的意义
- CentOS6.5安装Qt4.8.6+QtCreator2.6.1
- matlab读取视频VideoReader类
- js中数组Array的一些常用方法总结