java算法:冒泡排序

java算法:冒泡排序

冒泡排序:不断遍历文件,交换倒序的相邻元素,直到文件排好顺序。冒泡排序的主要优点是容易实现,冒泡排序通常会比选择排序、插入排序慢。

如,对EXAMPLE 字母进行排序:
 E   X   A   M   P   L   E   .开始
[A]  E   X  [E]  M   P   L   .E移到了A之后,A移到了最前面
 A   E  [E]  X   L   M   P   .L移到了E之后,E移到了X前面
 A   E   E  [L]  X   M   P   .L移到了X前面
 A   E   E   L  [M]  X   P   ...
 A   E   E   L   M  [P]  X   
 A   E   E   L   M   P  [X]

Prettyprint java代码 复制代码
  1. public class Bubble {   
  2.   
  3.     public static void main(String[] args) {   
  4.         int n = 20;   
  5.         MyItem [] a = new MyItem[n];   
  6.         for (int i = 0; i < n; i++) {   
  7.             a[i] = new MyItem();   
  8.             a[i].rand();   
  9.         }   
  10.            
  11.         for (int i = 0; i < n; i++) {   
  12.             System.out.print(a[i] + " ");   
  13.         }   
  14.            
  15.         bubble(a, 0, n);   
  16.         System.out.println("");   
  17.         print(a, n);   
  18.     }   
  19.        
  20.     private static void print(MyItem a [], int n){   
  21.         for (int i = 0; i < n; i++) {   
  22.             System.out.print(a[i] + " ");   
  23.         }   
  24.     }   
  25.        
  26.     public static void bubble(MyItem [] a, int l, int r){   
  27.         for (int i = l; i < r; i++) {   
  28.             for (int j = r - 1; j > i; j--) {   
  29.                 compExch(a, j - 1, j);   
  30.             }   
  31.         }   
  32.     }   
  33.        
  34.     public static boolean less(Item v, Item w){   
  35.         return v.less(w);   
  36.     }   
  37.        
  38.     public static void exch(Item [] a, int i, int j){   
  39.         Item t = a[i];   
  40.         a[i] = a[j];   
  41.         a[j] = t;   
  42.     }   
  43.        
  44.     public static void compExch(Item [] a, int i, int j){   
  45.         if(less(a[j],a[i])){   
  46.             exch(a, i, j);   
  47.         }   
  48.     }   
  49. }  

转载于:https://www.cnblogs.com/wuyida/archive/2012/11/01/6301140.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/434172.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python3发布时间_Python3优雅操作-时间处理与定时任务

无论哪种编程语言&#xff0c;时间肯定都是非常重要的部分&#xff0c;今天来看一下python如何来处理时间和python定时任务 注意&#xff1a;本篇所讲是python3版本的实现&#xff0c;在python2版本中的实现略有不同 1.计算明天和昨天的日期 #! /usr/bin/env python #codingutf…

Cubieboard安装Debian在Nand中

本教程所附带系统为Server版&#xff0c;不带显示&#xff0c;所以插显示器是不会有任何画面出现的。另外所提供系统为 http://linux-sunxi.org 所推荐(linux-sunxi.org的权威毋庸置疑)&#xff0c;非CB官方提供&#xff0c;但CB官方并未提供相关CB所用Server版&#xff0c;而且…

strlwr,strupr函数

函数原型&#xff1a;extern char *strlwr(char *str) extern char *strupr(char *s) 参数说明&#xff1a;str为要转换的字符串。 所在库名&#xff1a;#include <string.h> 函数功能&#xff1a;将字符串str中的大(小)写字母转换成为小(大)写字母&#xff…

为Cubieboard打造完美Debian系统

作为Cubieboard的用户&#xff0c;最头疼的问题就是没有一个比较好的系统&#xff0c;本文将帮你解决这个问题。 首先需要感谢网站http://guillaumeplayground.net/的作者制作了这个系统。不过由于是定制给mele的&#xff0c;所以在Cubieboard上运行需要做一些优化调整。 系统…

python中的类怎样理解_理解Python数据类:Dataclass fields 的概述(下)

原标题 Understanding Python Dataclasses?—?Part 2 &#xff0c;作者为 Shikhar Chauhan 。这是 Python 最新的 Dataclasses 系列的第二部分内容。在第一部分里&#xff0c;我介绍了 dataclasses 的一般用法。这篇主要介绍另一个特征&#xff1a;dataclasses.field。我们已…

java 图形处理库_java中处理图片的类库

拷贝一下代码&#xff0c;以后备用&#xff1a;import java.io.File;import java.io.FileOutputStream;import java.io.IOException;import java.io.PrintWriter;import java.util.ArrayList;import java.util.List;import javax.servlet.ServletException;import javax.servle…

Hibernate @OneToMany等注解设置查询过滤条件等

如实体PdOrg对象中有users对象&#xff0c;数据库user表有字段DEL_FLAG(0&#xff1a;删除&#xff1b;1&#xff1a;未删除)&#xff1a; private List<User> users new ArrayList<User>(); 生成get、set方法&#xff1a; OneToMany(fetchFetchType.LAZY, mappedB…

西部数码域名解析到阿里云_西部数码云主机好吗 稳定性如何

随着云计算技术的不断发展&#xff0c;我国云计算市场的经济效益也在日渐扩大&#xff0c;各个云服务商之间的竞争异常激烈。在这种环境下&#xff0c;备受人们关注的云服务企业主要呈现两大类&#xff0c;一是互联网巨头背景的阿里云、腾讯云等&#xff1b;二是以西部数码为代…

ffmpeg yasm not found, use --disable-yasm for a crippled build

yasm是汇编编译器&#xff0c;因为ffmpeg中为了提高效率用到了汇编指令&#xff0c;比如MMX和SSE。解决这个问题方面有两个&#xff1a;1、在网上下载一个yasm.exe并安装在mingw/bin下面&#xff0c;编译代码时你注意看&#xff0c;会发现asm后缀的文件用的编译器是yasm&#x…

java native 接口_Java本地接口--Java Native Interface (JNI)

一、方法介绍java native方法是指本地方法&#xff0c;当在方法中调用一些不是由java语言写的代码或者在方法中用java语言直接操纵计算机硬件时要声明为native方法。java中&#xff0c;通过JNI(Java Native Interface,java本地接口)来实现本地化。Native方法一般用于两种情况&a…

【转】android程序连接网络出现android.os.NetworkOnMainThreadExceptionat

错误&#xff1a; android.os.NetworkOnMainThreadException at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1099) ...... 原因&#xff1a;是涉及到url操作的时候&#xff0c;访问网络不能在主程序中运行 解决&#xff1a;参考【http://geeksu…

mysql8.0.22安装步骤图解_MySQL server 5.5的安装 步骤图解

作者&#xff1a;极客小俊 一个专注于web技术的80后我不用拼过聪明人&#xff0c;我只需要拼过那些懒人 我就一定会超越大部分人!知乎极客小俊&#xff0c;官方首发原创文章还有人用老版本的mysql 5.5吗&#xff1f;&#xff1f; 如果有的话 并且不会安装的小白看下面的步骤图吧…

win7下ffmpeg编译动态链接库整理

1.写在ffmpeg编译前 关于ffmpeg的编译过程google一搜&#xff0c;一大堆&#xff0c;ffmpeg编译真的有那么难么&#xff1f;在我编译成功后回头来看&#xff0c;网上的资料过多&#xff0c;反而使自己走了很多的弯路。即便有些楼主亲自测试后编译成功了&#xff0c;由于受机器…

inputstream java_Java实现inputstream流的复制

获取到一个inputstream后&#xff0c;可能要多次利用它进行read的操作。由于流读过一次就不能再读了&#xff0c;而InputStream对象本身不能复制&#xff0c;而且它也没有实现Cloneable接口&#xff0c;所以得想点办法。实现思路&#xff1a;1、先把InputStream转化成ByteArray…

wzctool工具使用详解

Wzctool是WinCE一个比较小巧实用的无线Wifi配置小工具&#xff0c;借助命令行调用该程序能够非常简单地设置wifi的相应参数&#xff0c;能够在一定程度上避免书写代码的繁琐之举。 这个工具是在编译系统的时候&#xff0c;添加Wifi组件后自动生成的。如果用户直接进到Platform…

spring boot 入门_玩转springboot2.x之快速入门开山篇

Spring Boot简介Spring Boot的目的在于创建和启动新的基于Spring框架的项目。Spring Boot会选择最适合的Spring子项目和第三方开源库进行整合。大部分Spring Boot应用只需要非常少的配置就可以快速运行起来。Spring Boot是伴随着Spring4.0诞生的&#xff0c;旨在简化开发。Spri…

详细介绍Qt,ffmpeg 和SDl 教程之间的联系

Qt与 ffmpeg 与 SDl 教程是本文要介绍的内容&#xff0c;从多个角度介绍本文&#xff0c;运用了qmake&#xff0c;先来看内容。1. 注释 从“ #” 开始&#xff0c;到这一行结束。2. 指定源文件 1. SOURCES *.cpp 对于多源文件&#xff0c;可用空格分开&#xff…

如何生成JAR包

JDK中自带了jar命令&#xff0c;可以生成jar包&#xff0c;在命令行输入jar可以看到用法。 E:\20121008>jar用法: jar {ctxui}[vfm0Me] [jar-file] [manifest-file] [entry-point] [-C dir] files ...选项包括&#xff1a; -c 创建新的归档文件 -t 列出归档目录 …

java 匿名内部类 百科_java匿名内部类具体概念是什么,在什么地方用到?

展开全部java匿名内部类一定是在new的后面&#xff0c;用其隐含实现一个接口或实现一个类&#xff0c;没有类名&#xff0c;根据多态&#xff0c;我们e69da5e887aa62616964757a686964616f31333337613863使用其父类名。因他是局部内部类&#xff0c;那么局部内部类的所有限制都对…

python 元组 列表 字典区别_python编程:常用的数据结构之字典的方法总结,和列表和元组区别...

字典是一种键&#xff1a;值的形式&#xff0c;我们前面分享的文章学习了列表[],元祖&#xff08;&#xff09;&#xff0c;字典是由{}引起来的&#xff0c;列表的键对应的是列表的下标&#xff0c;而字典的值对应的是字典的键&#xff0c;我们可以通过字典的键来获取字典的值 …