冒泡排序
来源:互联网 发布:ubuntu samba用户名 编辑:程序博客网 时间:2024/05/22 13:23
冒泡排序的思想:
将相邻的俩个数进行比较换位
比如有以下一个数组:
int[] arr = {5,1,4,8,2};
第一趟: 第一次5与1比较 5-1换位; 得到1 5 4 82 第二次:5 - 4 换位:得到:1 4 5 8 2 第三次: 5与 8换位,得到: 1 4 5 8 2 第四次: 8 与2换位: 得到1 4 5 2 8
第一趟得到一个最大数: 排在最后面
第二趟: 同样进行冒泡排序: 第一次 1与4 第二次: 4与5 第三次:5与2比较 进行换位: 得到1 4 2 5 8
第二趟:得到一个倒数第二大的数,排在倒数第二位:
第三躺: 第一次: 1与4 第二次: 4与2比较进行换位: 得到1 2 4 5 8
第三躺:得到一个倒数第三大的数,排在倒数第三位;
第四趟: 1与2比较,不用换位: 比较完毕
从这个过程中: 我们可以看出: 躺数;就是数组长度-1,衍生而来的就是,我们可以利用这个方法,选出数组中最大的数,当然就在第一趟中解决;
代码实现: 这个过程,一看就需要利用循环来解决.并且一层循环无法解决,需要用到双层循环;
这里需要用的一个只是点就是,交换值
int x =5,y=10; //定义两个变量
int temp = x; //定义第三临时变量temp并提取x值
x = y; //把y的值赋给x y = temp; //然后把临时变量temp值赋给y
代码实现:
int [] arr ={9,8,7,6,5,4};
for(int i =0; i< arr.length-1;i++) {for(int j=0;j<arr.length-1;j++) {
if(arr[j] > arr[j+1] ) {
int temp = arr[j+1];
arr[j+1] = arr[j]; // 值的交换;
arr[j]=temp;
}
}
}
for(int i = 0; i< arr.length;i++) {
if(i==arr.length-1) {
System.out.println(arr[i]);
break; // 这里是为了打印最后一个值时,不打印","号;
}
System.out.print(arr[i] + " ,");
System.out.println("数组中最大的值是" + arr[5]);
}
阅读全文
0 0
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 高效 DevOps 的7个习惯
- 京东618大促网关承载十亿调用量背后的架构实践
- docker 移除掉运行不正常的container
- ORACLE恢复删除表或表记录
- python3实现爬虫爬取今日头条上面的图片(requests+正则表达式+beautifulSoup+Ajax+多线程)
- 冒泡排序
- dpdk基础模块之rte_mbuf详解
- 修改Tomcat编码方式的两种方法
- linux下core文件调试方法
- Android EditText 代码实现弹出打开和关闭工具类
- jenkins ant jmeter持续集成2
- [Leetcode] 446. Arithmetic Slices II
- Java(18):多线程的启用
- 一般期刊发表要求