中易网

用JAVA程序冒泡排序算法把一组打乱顺序的数字从小到大排列并打印出来

答案:3  悬赏:70  
解决时间 2021-01-15 06:28
  • 提问者网友:却不属于对方
  • 2021-01-14 21:38
用JAVA程序冒泡排序算法把一组打乱顺序的数字从小到大排列并打印出来
最佳答案
  • 二级知识专家网友:何以畏孤独
  • 2021-01-14 22:18
public class MaoPao 
{
    public static void main(String args[])
    {
        int[] arr={2,1,3,4,6,5,7,8,9,0,10};
        //N是数组的元素个数,这样无论多少个数,直接修改arr中的元素就行了,
        //不需要调整循环次数
        int N = arr.length;       
        int temp=0;
        //冒泡排序:每次把最大的放到最后,N-i是因为第i次排序之后,
        //数组arr的最后i个数已经是按照大小顺序的了,所以不需要再排序了
        //比如第一次排序之后,最后一个数肯定是最大的,下一次只需要排前9个就行了。                                   
        for(int i=1;i        {
            for(int j=0;j            {
                //如果前面的数比后面的大,则不是按照顺序的,因此要交换
                if(arr[j]>arr[j+1])    
                {
                    temp=arr[j];           //交换2个数
                    arr[j]=arr[j+1];
                    arr[j+1]=temp;
                }
            }
        }
        
        for(int i=0;i        {
            System.out.print(arr[i]+"  ");
        }
        
    }
}
忘采纳。
全部回答
  • 1楼网友:渊鱼
  • 2021-01-15 01:02
public class Bubble {
public static void main(String[] args) {
int [] data ={1,31,2,2,9};
System.out.println("原始数据如下:");
//输出原始数据,中间用空格分开
for(int i = 0;i System.out.print(data[i]+" ");
}
System.out.println(); //输出回车分隔
BubbleSort(data); //调用冒泡排序
System.out.println("排序后数据如下:");
//输出排序后数据,同样用空格分开
for(int i = 0;i System.out.print(data[i]+" ");
}
System.out.println();
}
//冒泡排序函数
 public static void BubbleSort(int []data){
int temp = 0;
//从头至尾进行一次大循环
for(int i = 0;i < data.length;i++)
{
//针对大循环中的每个数 i,将其与逆序的所有其它数进行比较,
//若前者较大,则交换顺序,每次大循环可以保证本次循环后 i 位置的值最小
for(int j = data.length-1; j>i ; j--){
 if(data[i]>data[j]){
//以下3句为典型的数据交换语句,需要声明一个临时变量来存储
temp = data[i];
data[i] = data[j];
data[j] = temp;
}
}
}
 }
}
  • 2楼网友:山有枢
  • 2021-01-14 23:40
public class PaiXu {
public static void main(String[] args) {
int temp;
int[] s={4,3,6,65,23,45,36,86};
// Arrays.sort(s); 直接排序只要这一句

//冒泡排序
for(int j=1;j for(int k=1;k if(s[k] temp=s[k];
s[k]=s[k-1];
s[k-1]=temp;
}
}
}

//把排好的数字遍历打印出来
for(Integer i:s){
System.out.println(i);
}
}
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息