java中最简单的方法冒泡排序?

package bubble_sort;

import java.util.Scanner;

public class Sort {

* 冒泡排序

* @param args

public static void main(String[] args) {

// TODO Auto-generated method stub

Scanner input = new Scanner(System.in);

System.out.println("请输入要排序的个数:");

int counts = input.nextInt();

int[] temp = new int[counts];

for (int i = 0; i < counts; i++) {// 赋值

System.out.println("请输入第" + (i + 1) + "数:");

temp[i] = input.nextInt();

for(int k=0, conversion=0;kfor(int j=0;jif(temp[j]>temp[j+1]){

conversion=temp[j];

temp[j]=temp[j+1];

temp[j+1]=conversion;

}

System.out.println("降序后");

for(int g=0;gSystem.out.println(temp[g]);

for(int k=0, conversion=0;kfor(int j=0;jif(temp[j]conversion=temp[j];

temp[j]=temp[j+1];

temp[j+1]=conversion;

}

System.out.println("升序后");

for(int g=0;gSystem.out.println(temp[g]);

String t=input.next();//为了运行结束后查看结果,进行停留

}展开全部

public void bubbleSort(int[] data, String sortType) {

if (sortType.equals("asc")) { //正排序,从小排到大

//比较的轮数

for (int i = 1; i < data.length; i++) {

//将相邻两个数进行比较,较大的数往后冒泡

for (int j = 0; j < data.length - i; j++) {

if (data[j] > data[j + 1]) {

//交换相邻两个数

swap(data, j, j + 1);

}

}

}

} else if (sortType.equals("desc")) { //倒排序,从大排到小

//比较的轮数

for (int i = 1; i < data.length; i++) {

//将相邻两个数进行比较,较大的数往后冒泡

for (int j = 0; j < data.length - i; j++) {

if (data[j] < data[j + 1]) {

//交换相邻两个数

swap(data, j, j + 1);

}

}

}

} else {

System.out.println("您输入的排序类型错误!");

}

printArray(data);//输出冒泡排序后的数组值

}展开全部

public class Bubble {

// 冒泡排序函数1

public static void bubbleSort1(Comparable []data){

int position,scan;

Comparable temp;

for(position = data.length-1;position>=0;position--){

for(scan=0;scan<=position-1;scan++){

if(data[scan].compareTo(data[scan+1])<0){

temp = data[scan];

data[scan] = data[scan+1];

data[scan+1]=temp;

}

}

}

// 冒泡排序函数2

public static int[] bubbleSort2(int[] m){

int intLenth = m.length;

/*执行intLenth次*/

for (int i=0;i/*每执行一次,将最小的数排在后面*/

for (int j=0; j{

int a = m[j];

int b = m[j + 1];

if (a < b)

{

m[j] = b;

m[j + 1] = a;

}

}

}

return m;

public static void main(String []args){

// 冒泡排序1

Comparable []c={4,9,23,1,45,27,5,2};

bubbleSort1(c);

for(int i=0;iSystem.out.println("冒泡排序1:"+c[i]);

System.out.println("*******************");

// 冒泡排序2

int []b = {4,9,23,1,45,27,5,2};

int []e = bubbleSort2(b);

for(int j=0;jSystem.out.println("冒泡排序2:"+e[j]);

}

}展开全部

冒泡双向排序,速度快点,一次内循环把最大和最少的排序好了:

int[] a = {4,234,6,1,35,75,3546,342,74,754,7,24,75,33,7532,2,33,33,5,7,7,7};

for(int i = 0;i < a.length/2;i++ ) {

int temp = i;

for(int j = i; j < a.length - 1-i; j++) {

if(a[j] > a[j+1] ) {

int t = a[j];

a[j] = a[j+1];

a[j+1] = t;

}

if(a[j] < a[temp]) {

temp = j;

}

}

if(i!=temp) {

int t = a[i];

a[i] = a[temp];

a[temp] = t;

}

}展开全部

public class Recursion_fibonacci

static int fib(int n)

if(n==0 || n==1)

return n;

return fib(n-2)+fib(n-1);

public static void main(String[] args)

int i;

for(i=0;i<20;i++)

System.out.print(" "+fib(i));

System.out.println();

java冒泡排序

关于JAVA中的冒泡排序法???

package pck;//打开pck数据包

public class Bubble {//建立一个名为Bubble的类

public static void main(String args[]){//建立main函数

int nums[]={99,-10,100123,18,-978,5623,463,-9,287,49};//建立名为nums的数组,包含10个数,并为这10个数初始化值

int a,b,t;建立3个整型变量

System.out.print("Original array is:");//屏幕输出Original array is:这段字符

for(int i=0;i<10;i++)//循环

System.out.print(" "+nums[i]);//屏幕上依次显示空格+nums[0]的数值空格+nums[1]……+nums[9]

System.out.println();

for(a=1;a<10;a++)

for(b=10-1;b>=a;b--){

if(nums[b-1]>nums[b]){//当后面的数大于前面的数是执行调换

t=nums[b-1];

nums[b-1]=nums[b];

nums[b]=t;

}

}//一段for语句循环,意思是把数组里大的数吊到前面,小的放到后面

System.out.print("Sroted array is:");屏幕上输出Sroted array is:这段字符

for(int i=0;i<10;i++)//循环语句为后面输出nums里的数作准备

System.out.print(" "+nums[i]);//在屏幕上输出空格+nums[0]空格+nums[1]……nums[9]

System.out.println();//这句不太清楚,可能是输出空白行

}就是把大的沉下去,小的浮上来

例如:985420

第一趟:854209

就是将最上面的两个数比较9>8所以把8浮上来,9沉下去,变为895420,又因9>5,所以把9沉下去,5浮上来变为859420,以此类推。。。

第二趟:542089

第三趟:420589

第三趟:204589

第四趟:024589居然比我还差。。。

恭喜你了 QQ183148696

以后多交流