import java.util.Random;
/**
* 冒泡排序算法
* 步骤:
* 1.对数组中的相邻的两个数据进行比较。
* 2.如果前面的数据大于后面的数据就交换这两个数据,这样一轮比对下来就可以选出一个最小的了。
* 3.重复前面的步骤,就可以选出剩下的最小的了
*
* 核心原理:内层循环的时候,每次循环就要找出一个最大的或者最小的排好,然后再在剩下的数据中重复之前的操作
*/
public class Algorithm_BubbleSort {
public static void main(String[] args) {
int[] arr=new int[10];
Random random=new Random();
for (int i = 0; i < 10; i++) {
int num = random.nextInt(100)+1;
arr[i]=num;
}
System.out.print("原始数据:");
for (int i : arr) {
System.out.print(i+", ");
}
BubbleSortUp1(arr);
System.out.println();
System.out.print("方法1升序处理之后的数据:");
for (int i : arr) {
System.out.print(i+", ");
}
BubbleSortLow(arr);
System.out.println();
System.out.print("方法1降序处理之后的数据:");
for (int i : arr) {
System.out.print(i+", ");
}
BubbleSortUp2(arr);
System.out.println();
System.out.print("方法2升序处理之后的数据:");
for (int i : arr) {
System.out.print(i+", ");
}
BubbleSortLow2(arr);
System.out.println();
System.out.print("方法2升序处理之后的数据:");
for (int i : arr) {
System.out.print(i+", ");
}
}
public static void BubbleSortUp1(int[] arr){
int temp;
for (int i = 0; i <arr.length ; i++) {
for (int j = arr.length-1; i<j; j--) {
if (arr[j-1]>arr[j]){
temp=arr[j];
arr[j]=arr[j-1];
arr[j-1]=temp;
}
}
}
}
public static void BubbleSortLow(int[] arr){
int temp;
for (int i = 0; i <arr.length ; i++) {
for (int j = arr.length-1; i <j ; j--) {
if (arr[j-1]<arr[j]){
temp=arr[j];
arr[j]=arr[j-1];
arr[j-1]=temp;
}
}
}
}
private static void BubbleSortUp2(int[] arr) {
int temp;
for (int i = arr.length; i >=0 ; i--) {
for (int j = 0; j <i-1 ; j++) {
if (arr[j]>arr[j+1]){
temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
}
}
private static void BubbleSortLow2(int[] arr) {
int temp;
for (int i = arr.length; i>=0 ; i--) {
for (int j = 0; j <i-1 ; j++) {
if (arr[j]<arr[j+1]){
temp=arr[j+1];
arr[j+1]=arr[j];
arr[j]=temp;
}
}
}
}
}
冒泡排序(基于java)
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- import java.util.Arrays; import java.util.Random; public ...
- Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言。Java 技术具有卓越的通用性、高效性、平台移植性和...
- 1.选择排序看算法书才知道还有一种排序叫选择排序,还是经典排序,果然是算法渣渣,还孤陋寡闻,皮皮甜要加油啊什么是选...