java 冒泡排序

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));
		
	}

}

  

posted @ 2021-11-23 14:04  大熊童鞋  阅读(40)  评论(0)    收藏  举报