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中的冒泡排序法???
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
以后多交流