冒泡排序
来源:互联网 发布:网络神曲2014 编辑:程序博客网 时间:2024/06/05 20:47
package com.suanfa;import java.util.Arrays;public class 冒泡 { public static void main(String[] args){ int arr[] =new int[10]; for(int i=0;i<10;i++){ arr[i]=(int)(i*10*Math.random()); } System.out.println(arr.toString()); System.out.println(Arrays.toString(arr)); for(int j=0;j<arr.length-1;j++){ for(int k=0;k<arr.length-j-1;k++){ if(arr[k]<arr[k+1]){ int temp=0; temp=arr[k]; arr[k]=arr[k+1]; arr[k+1]=temp; } } } System.out.println(arr.toString()); System.out.println(Arrays.toString(arr)); }}
[I@6d06d69c
[0, 1, 17, 11, 21, 47, 56, 41, 11, 89]
[I@6d06d69c
[89, 56, 47, 41, 21, 17, 11, 11, 1, 0]
关于临界值:i从0开始,i<a.length-1,因为有10个数,到最后最大的数已经在最下面了,所以最后一次可以忽略不用比较。复杂度:10个数的话,第一次9次比较,第二次8次,最后1次,比较总数9+8+......+1.如果N个数据,那比较就是总数M=N*(N-1)/2,交换次数大概为比较的一半,N*(N-1)/4,最坏的时候和比较次数一样。去掉常数,时间复杂度O(N^2)。
阅读全文
0 0
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- OpenLayer4叠加geojson数据增加监听事件获取该geojson数据的相关属性
- linux、windows下查看NVIDIA显卡显存使用率
- centos 7 部署 java环境
- 关于Matlab2013a破解版激活不成功的解决方案
- 手机端 添加事件跳转以及不可缩放
- 冒泡排序
- SSH框架中关于Spring自动为Struts2的Action装配参数的误解
- 安卓改变状态栏颜色
- Editplus:使用技巧总结(打开当前文件路径、重命名、配置exe插件)
- git的常见相关命令和操作
- JAVA中enum的几种用法
- js+canvas五子棋
- VUE路由去掉“#”
- 【EXPDP】导出全部表的时候,选择不导出某个表