java实现的冒泡排序算法示例
本文实例讲述了java实现的冒泡排序算法。分享给大家供大家参考,具体如下:
public class PaoPaixu {
public static void sort(int[] data){
int tmp;
for (int i = 0; i < data.length; i++) {
for (int j = i+1; j < data.length; j++) {
if(data[i]>data[j]){
/*tmp=data[i];
data[i]=data[j];
data[j]=tmp;*/
data[i]=data[i]+data[j];
data[j]=data[i]-data[j];
data[i]=data[i]-data[j];
}
}
}
}
public static void main(String[] args) {
int[] data={4,2,1,8,9,4,2};
sort(data);
for (int i = 0; i < data.length; i++) {
System.out.println(data[i]);
}
}
}
希望本文所述对大家java程序设计有所帮助。
相关推荐
-
Java数据结构和算法之冒泡排序(动力节点Java学院整理)
冒泡排序(Bubble Sort)是一种简单的排序算法.它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来.走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成.这个算法的名字由来是因为越小的元素会经由交换慢慢"浮"到数列的顶端. 冒泡排序算法的运作如下: 1. 比较相邻的元素.如果第一个比第二个大,就交换他们两个. 2. 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对.在这一点,最后的元素应该会是最大的数. 3. 针对所有
-
java冒泡排序简单实例
话不多说,请看代码: //冒泡排序,从数组前面向后循环比较 public static void sort1(int[] aa){ int size=aa.length; int temp; //循环数组 for(int i=0;i<size;i++){ //aa[i]分别与i位后面的所有数比较并交换,aa[i]成为最小值 for(int j=i+1;j<size;j++){ if(aa[i]>aa[j]){ temp=aa[i]; aa[i]=aa[j]; aa[j]=temp; }
-
java 算法之冒泡排序实例详解
java 算法之冒泡排序实例详解 无人不知无人不晓的冒泡排序,据说是模仿泡泡从水中浮起跑到水面的过程. 在要排序的一组数中,对当前还未排好序的范围内的全部数,自上而下对相邻的两个数依次进行比较和调整,让较大的数往下沉,较小的往上冒.即: 每当两相邻的数比较后发现它们的排序与排序要求相反时,就将它们互换. 来看一下代码: package cn.songxinqiang.study.algorithm.sort; import java.util.Arrays; /** * 冒泡排序 * * <p>
-
JAVA冒泡排序和二分查找的实现
冒泡排序 冒泡排序(Bubble Sort),看到这种算法,我就想起一句话"小数上浮,大数下沉",通过层层的比较使小数浮出水面,而使大数"石沉水底".从而达到排序的效果.冒泡排序是一种简单的排序算法.它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来.走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成.这个算法的名字由来是因为越小的元素会经由交换慢慢"浮"到数列的顶端. 冒泡排序算法的运作如下
-
Java实现冒泡排序算法
冒泡排序: 就是按索引逐次比较相邻的两个元素,如果大于/小于(取决于需要升序排还是降序排),则置换,否则不做改变 这样一轮下来,比较了n-1次,n等于元素的个数:n-2,n-3 ... 一直到最后一轮,比较了1次 所以比较次数为递减:从n-1 到 1 那么总的比较次数为:1+2+3+--+(n-1), 以等差公式计算:(1+n-1)/2*(n-1) ==> n/2*(n-1) ==> (n^2-n) * 0.5 用大O表示算法的时间复杂度:O(n^2) , 忽略了系数0.5和常数-n. 算
-
java数据结构与算法之冒泡排序详解
本文实例讲述了java数据结构与算法之冒泡排序.分享给大家供大家参考,具体如下: 前面文章讲述的排序算法都是基于插入类的排序,这篇文章开始介绍交换类的排序算法,即:冒泡排序.快速排序(冒泡排序的改进). 交换类的算法:通过交换逆序元素进行排序的方法. 冒泡排序:反复扫描待排序记录序列,在扫描的过程中,顺次比较相邻的两个元素的大小,若逆序就交换位置. 算法实现代码如下: package exp_sort; public class BubbleSort { public static void b
-
Java实现冒泡排序算法及对其的简单优化示例
原理 冒泡排序大概是所有程序员都会用的算法,也是最熟悉的算法之一. 它的思路并不复杂: 设现在要给数组arr[]排序,它有n个元素. 1.如果n=1:显然不用排了.(实际上这个讨论似乎没什么必要) 2.如果n>1: (1)我们从第一个元素开始,把每两个相邻元素进行比较,如果前面的元素比后面的大,那么在最后的结果里面前者肯定排在后面.所以,我们把这两个元素交换.然后进行下两个相邻的元素的比较.如此直到最后一对元素比较完毕,则第一轮排序完成.可以肯定,最后一个元素一定是数组中最大的(因为每次都把相对
-
Java 冒泡排序、快速排序实例代码
冒泡排序 冒泡排序是一种简单的排序算法.它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来.走访数列的工作是重复地 进行直到没有再需要交换,也就是说该数列已经排序完成.这个算法的名字由来是因为越小的元素会经由交换慢慢"浮"到数列的顶端. 冒泡排序的算法实现如下:[排序后,数组从小到大排列] /** * 冒泡排序 * 比较相邻的元素.如果第一个比第二个大,就交换他们两个. * 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对.在这一点,最后的元素应
-
Java实现的各种排序算法(插入排序、选择排序算法、冒泡排序算法)
一.插入排序算法实现java版本 public static int[] insert_sort(int[] a) { for (int i = 0; i < a.length; i++) { for(int j=i+1;j>0&&j<a.length;j--) { if(a[j]<a[j-1]) { int tmp = a[j]; //这样定义初始化逻辑上是可以的,j变量,每次tmp的值变化的 a[j] = a[j-1]; a[j-1] = tmp; } } }
-
java List 排序之冒泡排序实例代码
java List 排序之冒泡排序实例代码 List排序,这里介绍两种排序: 1.Collections.sort()排序: 假如List集合中放的是Menu对象. public class Menu{ private int id; private String name; private int seq;//自定义排序字段 //构造函数.getter.setter省略....... } List<Menu> menus=new ArrayList<Menu>(); menus.
随机推荐
- javascript 鼠标滚轮事件
- MSSQL2005数据库备份导入MSSQL2000
- javascript ES6 新增了let命令使用介绍
- bat生成vbs通过注册表禁用或启用USB端口的代码
- java使用Socket实现SMTP协议发送邮件
- swift在IOS应用图标上添加提醒个数的方法
- asp.net MVC利用自定义ModelBinder过滤关键字的方法(附demo源码下载)
- Python中使用第三方库xlrd来读取Excel示例
- C#.net实现在Winform中从internet下载文件的方法
- 详解Windows下安装Nodejs步骤
- Python实现Tab自动补全和历史命令管理的方法
- 经典海量jQuery插件 大家可以收藏一下
- 基于MooTools的很有创意的滚动条时钟动画
- Linux编程实现制作文件的ed2k链
- Almp 安卓系统上搭建本地php服务器环境的步骤
- Android编程实现基于局域网udp广播自动建立socket连接的方法
- mac系统下安装多个php并自由切换的方法详解
- flask中主动抛出异常及统一异常处理代码示例
- java绘制国际象棋与中国象棋棋盘
- java查找文件夹下最新生成的文件的方法
