当前位置 : 主页 > 编程语言 > java >

java 冒泡排序

来源:互联网 收集:自由互联 发布时间:2022-09-02
package org.longIt.ShiZhanLianXi; import java.util.Arrays; public class LianXi_06 { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub /* * 随机生成10个不重复的整数 范围在 1 - 20 (不
package org.longIt.ShiZhanLianXi;

import java.util.Arrays;
public class LianXi_06 {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
/*
* 随机生成10个不重复的整数 范围在 1 - 20 (不包括20)之间 ,输出排序好的数组。由小至大 由大至小排序
*
* */

//创建长度为10的数组,用于存放随机生成整数(1 - 20 )之间
//[0][0][0][0][0][0][0]....
int[] array = new int[10];

//创建Random
java.util.Random random = new java.util.Random();

OUT:
for (int i = 0; i < array.length; i++) {

//通过random的nextInt方法生成随机数
int data = random.nextInt(20);//生成0 到 20之间的随机数
//将随机数存放在数组中时,要先进性判断,如果该随机数已经存在则本次生成的随机数无效,也不需要放入数组中,重新生成

//遍历数组,判断刚刚生成的随机数再数组中是否存在
for (int j = 0; j < array.length; j++) {
if(data == array[j]) {
i--;
//说明该随机数已经存在,退出循环继续下一次循环
continue OUT;
}

}

//将生成好的随机数存放在数组中
array[i] = data;

}

//打印数组中的元素
System.out.println("排序前数组中的元素信息:"+Arrays.toString(array));


//1、对数组中的元素进行有小往大排序 以及 2、对数组中的元素进行有大往小排序

//由小往大排序
//通过外循环控制需要比较的趟数
/*for (int i = 0; i < array.length - 1; i++) {

//通过内循环控制比较的次数
for (int j = 0; j < array.length - 1 - i; j++) {
//定义临时变量
int temp;
if(array[j] > array[j+1]) {
temp = array[j+1];
array[j+1] = array[j];
array[j] = temp;
}

}

}*/

//打印数组中的元素
//System.out.println("数组中的元素进行由小往大排序后的结果:"+Arrays.toString(array));

//由大往小排序
for (int i = 0; i < array.length - 1; i++) {

//通过内循环控制比较的次数
for (int j = 0; j < array.length - 1 - i; j++) {
//定义临时变量
int temp;
if(array[j] < array[j+1]) {
temp = array[j+1];
array[j+1] = array[j];
array[j] = temp;
}

}

}

//打印数组中的元素
System.out.println("数组中的元素进行由大往小排序后的结果:"+Arrays.toString(array));

}

}

  

世界上最美的风景,是自己努力的模样



网友评论