「java写气泡排序怎么写」java编写冒泡排序

博主:adminadmin 2023-03-21 23:48:07 497

本篇文章给大家谈谈java写气泡排序怎么写,以及java编写冒泡排序对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

java中编写冒泡排序算法 bubbleSort(int[]arr)

/** 

 *des:冒泡排序算法的一般性策略:搜索整个值列,比较相邻元素,如果两者的相对次序不对, 

 *则交换它们,其结果是最大值“想水泡一样”移动到值列的最后一个位置上, 

 *这也是它在最终完成排序的值列中合适的位置。 

 *然后再次搜索值列,将第二大的值移动至倒数第二个位置上,重复该过程,直至将所有元素移动到正确的位置上。 

 *2014-4-9-zbl 

 **/  

public class BubbleSort {  

  

    /** 

     * @param args 

     */  

    public static void main(String[] args) {  

        // TODO Auto-generated method stub  

        Comparable []a={4,9,23,1,45,27,5,2};  

        bubbleSort1(a);  

          

        Comparable []b={4,9,23,1,45,27,5,2};  

        bubbleSort2(b);  

          

               int []c={4,9,23,1,45,27,5,2};  

        bubbleSort3(c);  

    }  

      

    public static void bubbleSort3(int []data)  

    {  

        int temp;  

        for (int i = 0; i  data.length; i++) {  

            int flag = 0;  

            for (int j = 0; j  data.length-i-1; j++) {  

                if (data[j]data[j+1]) {  

                    temp=data[j];  

                    data[j]=data[j+1];  

                    data[j+1]=temp;  

                    flag = 1;  

                }  

            }  

            if(flag==0)break;  

            System.out.print("第"+i+"遍:{");  

            for (int k = 0; k  data.length; k++) {  

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

            }  

            System.out.println("}");  

        }  

    }  

      

    public static void bubbleSort1(Comparable []data)  

    {  

        Comparable temp;  

        for (int position = data.length-1; position =0; position--) {  

            int flag = 0;  

            for (int scan = 0; scan  position; scan++) {  

                if(data[scan].compareTo(data[scan+1])0){  

                    temp = data[scan];  

                    data[scan] = data[scan+1];  

                    data[scan+1] = temp;  

                    flag = 1;  

                }  

            }  

            if (flag==0) {  

                break;  

            }  

            System.out.print("第"+position+"遍:{");  

            for (int i = 0; i  data.length; i++) {  

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

            }  

            System.out.println("}");  

        }  

    }  

      

    public static void bubbleSort2(Comparable []data)  

    {  

        Comparable temp;  

        for (int position = 0; position  data.length-1; position++) {  

            int flag = 0;  

            for (int scan = 0; scan  data.length-1-position; scan++) {  

                if(data[scan].compareTo(data[scan+1])0){  

                    temp = data[scan];  

                    data[scan] = data[scan+1];  

                    data[scan+1] = temp;  

                    flag = 1;  

                }  

            }  

            if (flag==0) {  

                break;  

            }  

            System.out.print("第"+position+"遍:{");  

            for (int i = 0; i  data.length; i++) {  

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

            }  

            System.out.println("}");  

        }  

    }  

  

}

用java写个冒泡排序?

冒泡排序算法:

int类型的数组:3 1 6 2 5

第一次循环:

1 3 6 2 5

1 3 6 2 5

1 3 2 6 5

1 3 2 5 6

第二次循环:

1 3 2 5

1 2 3 5

1 2 3 5

第三次循环:

1 2 3

1 2 3

。。。

  算法:取出最大的放在最后,下次就不用比较最后一个了。*/

public class BubbleSort{

    public static void main(String[] args){

        int[] a = {3,1,6,2,5};

        //开始排序

        for(int i=a.length-1;i0;i--){

            for(int j=0;ji;j++){

                if(a[j]a[j+1]){

                    //交换位置

                    int temp;

                    temp = a[j];

                    a[j] = a[j+1];

                    a[j+1] = temp;

                }

            }

        }

        //遍历

        for(int i=0;ia.length;i++){

            System.out.println(a[i]);

        }

    }

}

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

冒泡排序的原理:

从第一个元素开始,将相邻的两个元素依次进行比较,直到最后两个元素完成比较。如果前一个元素比后一个元素大,则交换它们的位置。整个过程完成后最后一个元素就是最大值,完成第一轮比较,后边通过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;iarr.length;i++)

{

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

}

int t;

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

{

for(int x=0;xarr.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;karr.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循环的嵌套。

java 冒泡排序怎么写?

方法一: package basic.javastu; public class NumberTest {

/** * 实现冒泡程序1 */ public static void main(String[] args) { // TODO Auto-generated method stub

int[] numb=new int[]{3,42,57,1,32,24};

int len=numb.length;

int i,j;

int temp;

System.out.println("排序前的数组各个值:");

for(i=0;ilen;i++)

{

System.out.print(numb[i]+"\t");

}

System.out.println("\n");

for(i=1;i=len;i++)

{

for(j=len-1;j=1;j--)

{

if(numb[j]numb[j-1])

{

temp=numb[j];

numb[j]=numb[j-1];

numb[j-1]=temp;

}

}

}

System.out.println("排序后的数组各个值:");

for(i=0;ilen;i++)

{

System.out.print(numb[i]+"\t");

}

}

}

方法二: package basic.javastu; public class NumberTest2 {

/** * 实现冒泡程序2 */ public static void main(String[] args) { // TODO Auto-generated method stub

int[] numb=new int[]{3,42,57,1,32,24};

int leng=numb.length;

System.out.println("排序前的数组各个值:");

for(int i=0;ileng;i++)

{

System.out.print(numb[i]+"\t");

}

System.out.println("\n");

swap(numb);

System.out.println("数组排序后:"); for(int i=0;ileng;i++)

{

System.out.print(numb[i]+"\t");

} }

private static int[] swap(int[] numb) { int n2[]=numb; int len=n2.length; int i,j; int temp; for(i=1;i=len;i++)

{

for(j=len-1;j=1;j--)

{

if(n2[j]n2[j-1])

{

temp=n2[j];

n2[j]=n2[j-1];

n2[j-1]=temp;

}

}

} return n2; } }

方法三: package basic.javastu; public class NumberTest3 {

/** * 实现冒泡程序2 */ public static void main(String[] args) { // TODO Auto-generated method stub

int[] numb=new int[]{3,42,57,1,32,24};

int leng=numb.length;

System.out.println("排序前的数组各个值:");

for(int i=0;ileng;i++)

{

System.out.print(numb[i]+"\t");

}

System.out.println("\n");

swap(numb);

System.out.println("数组排序后:"); for(int i=0;ileng;i++)

{

System.out.print(numb[i]+"\t");

} }

private static void swap(int[] numb) { int len=numb.length; int i,j; int temp; for(i=1;i=len;i++)

{

for(j=len-1;j=1;j--)

{

if(numb[j]numb[j-1])

{

temp=numb[j];

numb[j]=numb[j-1];

numb[j-1]=temp;

}

}

} } }

java写气泡排序怎么写的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java编写冒泡排序、java写气泡排序怎么写的信息别忘了在本站进行查找喔。