冒泡排序

mac2025-02-07  14

/*自动生成1~100之间的30个数到数列中,并把它们按从小到大的顺序排序*/ public class maopao { public static void main(String[] args) { int sec[]=new int[30]; //定义一个数组来承接这30个数 for(int i=0;i<sec.length;i++) { sec[i]=(int)(Math.random()*100+1);//随机输出1~100之间的30个数 System.out.print(sec[i]+" "); } for(int i=0;i<sec.length;i++) { for(int j=0;j<sec.length-1-i;j++) { //定义新变量j,用来比较 if(sec[j]>sec[j+1]) { int temp=sec[j]; sec[j]=sec[j+1]; sec[j+1]=temp;//大小易位,将小数定义为temp } } } System.out.println("排序后的数组为:"); for(int i=0;i<sec.length;i++) System.out.print(sec[i]+" ");//输出从小到大排序的数组 } } 自动生成随机数: 利用(Math.random()*倍数)来实现; 若倍数为1,代表区间[0,1),同样若要[0,15),则倍数为15。 同时注意左右区间的取舍; 例:若要[1,15],则应写成(Math.random()*15+1) 冒泡排序:(针对本题顺序) 两个数进行大小比较,小的数放在前面,若前面的数本来就小或者是两个数相等,就不做改变,一直循环直至最后排出顺序 其中的双重for循环实现了大小比较和交换顺序
最新回复(0)