java冒泡排序算法
来源:互联网 发布:oracle .sql如们运行 编辑:程序博客网 时间:2024/05/16 17:10
算法:冒泡排序算法
冒泡排序的运作(从后往前):
第一轮:比较每一对相邻的两个元素,如果第一个比第二个大,就进行交换,最后一个元素则是最大的元素。
第二轮:重复以上步骤,除了最后一个。
·····
第n-1轮···
相同元素的前后顺序并没有改变,所以冒泡排序是一种稳定的排序算法。
手动分析:数 组: 15 2 45 32 56 89 4 15 55 6 第一轮: 2 15 32 45 56 4 15 55 6 89 比较 9 次第二轮: 2 15 32 45 4 15 55 6 56 比较 8 次第三轮: 2 15 32 4 15 45 6 55 比较 7 次第四轮: 2 15 4 15 32 6 45 比较 6 次第五轮: 2 4 15 15 6 32 比较 5 次第六轮: 2 4 15 6 15 比较 4 次第七轮: 2 4 6 15 比较 3 次第八轮: 2 4 6 比较 2 次第九轮: 2 4 比较 1 次
代码说明:1、外循环控制比较的轮数,内循环控制每轮比较的次数
2、比较的次数是数组长度-1。
3、交换方法有多种,这里使用的是相加的方法(可以使用如:借助第三变量,移位法等)
4、遍历输出我使用的是forearch循环,也可以使用最普通的for循环,如下:
for(int i = 0; i < nums.length-1; i++){ System.out.print(nums[i]+" ");}
源代码:
public class shuzu6 { public static void main(String[] args) { int[] nums = {15,2,45,32,56,89,4,15,55,6}; //外循环控制比较的轮数 for (int i = 0; i < nums.length-1; i++) { for (int j = 0; j < nums.length-1-i; j++) { if(nums[j]>nums[j+1]){ nums[j] = nums[j] + nums[j+1]; nums[j+1] = nums[j] - nums[j+1]; nums[j] = nums[j] - nums[j+1]; } } } for(int n : nums){ System.out.print(n+" "); } }}
阅读全文
0 0
- java 冒泡排序算法~~~
- java冒泡排序算法
- java冒泡排序算法
- java冒泡排序算法
- java冒泡排序算法
- java 冒泡排序算法
- [java]冒泡排序算法
- java冒泡排序算法
- 冒泡排序算法(JAVA)
- java冒泡排序算法
- Java冒泡排序算法
- java冒泡排序算法
- Java算法 冒泡排序
- java算法:冒泡排序
- java算法:冒泡排序
- java算法---冒泡排序
- Java冒泡排序算法
- java 排序算法(冒泡)
- Android ThreadPoolExecutor 学会管理你的线程池
- 编写strcpy遇到的warning: suggest parentheses around assignment used as truth value [-Wparentheses]|
- 观察者模式
- jQuery 表格展开关闭
- Code[vs]1187 Xor最大路径
- java冒泡排序算法
- Improving Deep Neural Network with Multiple Parametric Exponential Linear Units(MPELU译文)
- 枚举写法模板
- 理解设计模式之装饰器模式
- 趟过的那些坑-listview addfootview点击
- 最大质因数
- python -- 教室调度问题
- Boostnote是什么?-是为程序员开发的一种开放源代码记事本
- C/C++ << 左移运算符,. >>右移运算符