冒泡排序如何使用Java语言完成?

作者&投稿:巢妮 (若有异议请与网页底部的电邮联系)
用JAVA语言编写一个冒泡排序法,要详细的~

我n年前上学用的,你看看把,呵呵。希望对你有帮助

public class Test
{
public void Sx(int[] t)
{
for(int i = 0;i < t.length;i++)
{

if(t[i] < 10)
{
System.out.print("0"+t[i]+" ");
}
else
{
System.out.print(t[i]+" ");
}
if((i+1) % 6 == 0)
{
System.out.println();
}

}


}

public static void main(String[] args)
{
Test m = new Test();

int a[] = new int[36];
out1: for(int i = 0;i < 36;i++)
{
a[i] = (int)(Math.random() * 36 + 1);
for(int j = 0; j < 36 && j != i;j++)
{
if(a[j] == a[i])
{
i--;
continue out1;
}
}

}
m.Sx(a);
System.out.println();
//Arrays.sort(a);
//冒泡法
int temp;
for(int i=0;i<a.length;i++){
for(int j=0;j+1<a.length-i;j++){
if(a[j]>a[j+1]){
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
}
m.Sx(a);


}

}

package com.xx.test;

public class BubbleSort implements Comparable{

public void bubbleSort(E[] array) {

// 声明一个变量用于交换两个元素时使用
E temp;

for(int i = 0; i < array.length - 1; i++) {
for(int j = 0; j < array.length - i - 1; j++) {
if(((Comparable) array[j]).compareTo(array[j + 1]) < 0) {
temp = array[j];
array[j] = array[j + 1];
array[j + 1] = temp;
}
}
}
}

public int compareTo(E o) {
// 这里要实现比较两个对象的大小
return 0;
}
}
因为是泛型,所以需要根据实际情况来写一个compareTo方法来比较大小,例如传进来的是基本数据类型,那么就直接比较大小,如果传进来的是字符串,按字典顺序重写compareTo()方法,其他的类型又怎么比较就行了!

冒泡排序的原理:

从第一个元素开始,将相邻的两个元素依次进行比较,直到最后两个元素完成比较。如果前一个元素比后一个元素大,则交换它们的位置。整个过程完成后最后一个元素就是最大值,完成第一轮比较,后边通过for循环依次完成后续比较。

运行代码如下:

package day01;

public class 冒泡 {

public static void main(String[] args) {

int []arr=new int[] {12,45,33,46,3};

System.out.println("排序之前的元素顺序:");

for(int i=0;i<arr.length;i++)

{

System.out.print(arr[i]+" ");

}

int t;

for(int j=0;j<arr.length-1;j++)

{

for(int x=0;x<arr.length-1;x++)

{

if(arr[x]>arr[x+1])

{

t=arr[x];

arr[x]=arr[x+1];

arr[x+1]=t;

}

}

}

System.out.println();

System.out.println("排序之后的元素顺序:");

for(int k=0;k<arr.length;k++)

{

System.out.print(arr[k]+" ");

}

}

}

运行结果截图:

扩展资料:

(1)冒泡排序每一轮把一个最大的元素放在数组的最后

(2)如果想要实现倒叙比较输出可以把代码判断大小的部分改为下边代码即可。

if(arr[x]>arr[x+1])

{

t=arr[x];

arr[x]=arr[x+1];

arr[x+1]=t;

}

(3)使用知识点:数组length的使用,数组的定义,for循环的嵌套。






怎样把txt格式文本转化成ja格式
放在一个文件夹里并依次排序,选择文件时,点“全选”,再点制做就成;做法3、一本书分成多个小文件,再把这些小文件分别成JAR电子书,这样做法跟做法1类似,但由于都是同一本书,就可以使用“批理制做”(可以省事),点“全选”,再点“批量制做”,会弹出一小窗口,填入一个合适的大小(这个大小...

汇编程序:用降序排列
org 100h mov ch,10 q1:mov ah,01h int 21h mov bh,al mov ah,01h int 21h mov bl,al mov cl,4 shl bl,cl shr bx,cl mov ax,bx stosb mov dl,' 'mov ah,02h int 21h dec ch jnz q1 mov ch,10 gotoxy 0,1 q6:lodsb mov cl,al mov dh,10 q5:lodsb cmp cl,al ja q2...

全哲学纲要如何按照学说亲疏顺序排列?
全书的结构将哲学学说大致划分为两大阵营:否定《吠陀圣典》的异端派(Na^stika)和承认其权威的正统派(A^stika)。排序依据学说与不二一元论的亲疏关系,排列顺序如下:Ca^rva^ka说(与商羯罗说最无关联)佛教说A^rhata说(被视作异端派)Ra^ma^nuja说(毗湿奴派)Pu^rna-prajn~a说(毗湿奴派...

矿物识别方法和工作流程
如何利用矿物鉴定矿物?物理方法:用矿物的一些物理性质来区分矿物,这是最简单实用的方法,是我们在野外鉴定的主要方法,这些物理性质主要有:1)形状:片状、肾状、鲕状、菱形、立方状、板状、致密状、短柱状等。2)颜色 矿物的颜色是最容易引起注意的。分为三种:自色—矿物本身所固有的颜色。它色—矿物中混入杂质,带...

汇编语言程序题:分别输入3个小于99的两位十进制数,把其中数值位于中间的...
13 JE @3 CMP AL,32 JE @2 CMP AL,'0' JB @1 CMP AL,'9' JA @1 AND AL,0FH SHL DL,1 MOV DH,DL

汇编语言
ja $+4 mov al,20h ;若十位数是0,以空格代替 push ax mov ah,0eh int 10h ;显示十位数 pop ax xchg ah,al mov ah,0eh int 10h ;显示个位数 ret Dec_ASCII EndP ; --- Commentators equ 9 ;评委人数 Contestants equ 23 ;参赛选手人数 Press_Key db ...

HIDE到底是不是自杀?
我自己不能用语言表达我的感受。」 众所周知hide总是乐观向上,喜欢开玩笑而且热爱聚会,这些都是人们更疑惑这样的人怎么会通过自杀来逃避自己所遇到的问题。 hide曾说过:「一个乐队只有在死了人后,才能成为传奇。」现在,X JAPAN真的成为传奇乐队了。 吉他手HIDE 松本秀人 于自宅公寓中自杀 被同居女友发现 根据...

SAS 分组排序后编号,取出每一组编号最大值
假设数据集名为datause,那么:proc sql;create table datause_counting asselect bl1, count(bl3) as Group_Size from datausegroup by bl1;Create table newdatause asselect a.*, b.group_size from datause a left join datause_counting bon a.bl1=b.bl1;quit;

计算机问题(200)高分~~
3. 如何将一个word文档中的指定内容复制到另一文档中去?答:首先,将这个文档的指定内容复制到剪贴板中;然后,用鼠标单击另一文档;最后,将剪贴版中的内容粘贴到另一文档指定位置。4. Word提供了几种图文混排方式?如何调整图形对象与正文之间的前后位置?答:①文本框是进行文字和图片定位的有效...

始终会用上的Common BeanUtils
其中ComparatorChain属于jakata mons collections包 如果age属性不是普通类型 构造函数需要再传入一个parator对象为age变量排序 另外 BeanCompartor本身的ComparebleComparator 遇到属性为null就会抛出异常 也不能设定升序还是降序 这个时候又要借助mons collections包的ComparatorUtils Comparator mycmp = Comparable...

绩溪县19710509330: java中的冒泡排序法的具体用法 -
苍梧邓心律: public class SortDemo { public static void main(String[] args) {//初始化变量int[] arrayOfInts = { 1,5,9,8,11,4,12,13};//循环整个数组for (int i = arrayOfInts.length; --i >= 0;) {//循环每个数字for (int j = 0; j < i; j++) {if (arrayOfInts[j] > arrayOfInts[j +...

绩溪县19710509330: 怎么用JAVA实现冒泡排序 -
苍梧邓心律: static void BubbleSort(int a []){ int temp=0; for (int i = 0; i < a.length ; i++) { for (int j = 0; j < a.length - i - 1; j++){ if (a[j]>a[j + 1]){ //把这里改成大于,就是升序了 temp=a[j]; a[j]=a[j + 1]; a[j + 1]=temp; } } } }

绩溪县19710509330: java 冒泡排序 -
苍梧邓心律: 冒泡排序法: int a; int[] a = { 5, 4, 9, 2, 7 }; System.out.println("排序前的数组是:") for(int i=0;i<a.length;i++){ System.out.println(a[i]+"\t"); } for(int i=0;i<a.length;i++){ for(int j=0;j<a.length-1;j++){ if(a[j]<a[j+1]){ a=a[j]; a[j]=a[j+1]; a[j+1]=a; } } } ...

绩溪县19710509330: 如何用java实现冒泡排序 -
苍梧邓心律: public class Bubble { public static void main(String[] args) { // TODO Auto-generated method stub int arr[]=new int[]{1,3,2,6,5,4}; Bubble b1=new Bubble(); b1.func(arr); } public void func(int[] array) { for(int i=1;i {for(int j=0;j { if(array[j]>array[j+...

绩溪县19710509330: 用JAVA语言编辑个冒泡排序 ? -
苍梧邓心律: public class Test1 { public static void main(String[] args) { int[] arr = { 2, 5, 10, 13, 11, 90, 3, 21, 99, 42, 26, 31, }; // System.out.println(arr.length); System.out.println("排序前的数组:"); /*for (int i = 0; i

绩溪县19710509330: Java 冒泡排序怎么排??? -
苍梧邓心律: import java.util.*; public class Main { public static void main(String[] args) { int []a=new int[5]; int i,j,t; Scanner scan=new Scanner(System.in); for(i=0;ia[j+1]) { t=a[j]; a[j]=a[j+1]; a[j+1]=t; } } System.out.print(a[0]); for(i=1;i

绩溪县19710509330: JAVA冒泡排序 -
苍梧邓心律: package Test;import java.util.Arrays;public class Demo1 {public static void main(String[] args) {int[] a = {2,1,3,9,7,10,8,11,17,6};//System.out.println(Arrays.toString(a));sortArr(a,a.length - 1,0);System.out.println(Arrays.toString(a));sort(a);...

绩溪县19710509330: 用JAVA语言编写一个冒泡排序法,要详细的 -
苍梧邓心律: 我n年前上学用的,你看看把,呵呵.希望对你有帮助 public class Test { public void Sx(int[] t) { for(int i = 0;i < t.length;i++) { if(t[i] < 10) { System.out.print("0"+t[i]+" ");}else { System.out.print(t[i]+" ");} if((i+1) % 6 == 0) { System.out.println(); ...

绩溪县19710509330: java语言中怎样用冒泡法对数组元素的排序 -
苍梧邓心律: public class Practice { public void sortArry(){ int arr[]={2,1,5,8,21,12}; System.out.println("冒泡排序前的结果是:"); for(int i=0;i<arr.length;i++){ System.out.print(" "+arr[i]); } for(int i=0;i<arr.length-1;i++){ for(int j=0;j<arr.length-1-i;j++){ if(arr[j]>...

绩溪县19710509330: Java中的冒泡排序算法的使用? -
苍梧邓心律: public class SortTest2 { public static void main(String[] args) { int[] intArray={3,17,5,9,63,24}; for(int i=intArray.length-1;i>0;i--) { for(int j=0;j { if(intArray[j]>intArray[j+1]) { int temp; temp=intArray[j]; intArray[j]=intArray[j+1]; intArray[j+1]=temp; } } } System....

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网