「java冒泡法排列数组」java冒泡排序数组

博主:adminadmin 2022-12-05 10:24:09 61

今天给各位分享java冒泡法排列数组的知识,其中也会对java冒泡排序数组进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

java冒泡排序法代码

冒泡排序是比较经典的排序算法。代码如下:

for(int i=1;iarr.length;i++){

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

//交换位置

}    

拓展资料:

原理:比较两个相邻的元素,将值大的元素交换至右端。

思路:依次比较相邻的两个数,将小数放在前面,大数放在后面。即在第一趟:首先比较第1个和第2个数,将小数放前,大数放后。然后比较第2个数和第3个数,将小数放前,大数放后,如此继续,直至比较最后两个数,将小数放前,大数放后。重复第一趟步骤,直至全部排序完成。

第一趟比较完成后,最后一个数一定是数组中最大的一个数,所以第二趟比较的时候最后一个数不参与比较;

第二趟比较完成后,倒数第二个数也一定是数组中第二大的数,所以第三趟比较的时候最后两个数不参与比较;

依次类推,每一趟比较次数-1;

……

举例说明:要排序数组:int[] arr={6,3,8,2,9,1}; 

for(int i=1;iarr.length;i++){

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

//交换位置

}    

参考资料:冒泡排序原理

java语言中怎样用冒泡法对数组元素的排序

public class Practice {

public void sortArry(){

int arr[]={2,1,5,8,21,12};

System.out.println("冒泡排序前的结果是:");

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

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

}

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

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

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

int temp=arr[j];

arr[j]=arr[j+1];

arr[j+1]=temp;

}

}

}

System.out.println("冒泡排序后的结果是:");

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

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

}

}

public static void main(String args[]){

Practice p=new Practice();

p.sortArry();

}

}

你看看还有啥问题就问,抱歉赶时间,我没有加注释哦,其实我感觉你把冒泡排序的思想理解了就好了,每次从数组中选择出一个最大的(也可以是最小的),放到最后,每次都找最大的,然后找n-1次,n是数组长度,你看看。

java数组冒泡排序问题

你当前的数组长度为5

冒泡排序的做法是:

1、取下标为0的元素分别去和下标为1、2、3、4的元素进行比较,值最大的元素或者是值最小的元素与下标为0的元素互换位置;

2、取下标为1的元素分别去和下标为0、2、3、4的元素进行比较,值最大的元素或者是值最小的元素与下标为1的元素互换位置;

3、取下标为2的元素分别去和下标为0、1、3、4的元素进行比较,值最大的元素或者是值最小的元素与下标为2的元素互换位置;

以此类推,直到数组的最后一个元素也分别和其他元素进行过比较之后终止循环。

程序中的 temp 是帮助程序将数组中的两个元素互换位置的。

另:你这段程序可以简化为

public class Demo2 { public static void main(String[] args) { int arr[]={1,10,3,5,4};

Arrays.sort(arr);

for (int i : arr) {

System.out.println(i);

}

}

楼主可以着重看看Arrays.sort()这个方法,这是java.util包下的排序方法。

用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 冒泡排序怎么写?

方法一: 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冒泡法排列数组的信息别忘了在本站进行查找喔。

The End

发布于:2022-12-05,除非注明,否则均为首码项目网原创文章,转载请注明出处。