数组排序(冒泡法)

王朝学院·作者佚名  2016-08-27
窄屏简体版  字體: 小  |  中  |  大  |  超大  

思路:定义了三个方法分别是sort、swap、PRintAry,分别执行排序、数组倒置、打印数组的功能,定义倒置数组的目的呢,就是按照用户的需要来打印出是升序还是降序的结果。

CODE:

importjava.util.Scanner;

public class ArySort {

/**

* @param args

*/

//排序(降序)

public static int[] sort(int[] ary){

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

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

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

int temp = ary[j];

ary[j] = ary[j+1];

ary[j+1] = temp;

}

}

}

return ary;

}

// 数组倒置

public static int[] swap(int[] ary){

for (int i = 0,j = ary.length-1; i < ary.length/2; i++,j--) {

int temp = ary[i];

ary[i] = ary[j];

ary[j] = temp;

}

return ary;

}

// 打印数组

public static void printAry(int[] ary){

for (int i = 0; i < ary.length; i++) {

System.out.print(ary[i]+"\t");

}

}

public static void main(String[] args) {

Scanner ss = new Scanner(System.in);

System.out.print("请输入数组长度:");

int len = ss.nextInt();

if(len < 0){

System.out.println("数组长度有误!");

return;

}

int[] ary = new int[len];

for(int i = 0; i < ary.length;i++){

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

ary[i] = ss.nextInt();

}

System.out.println("排序前的数组为:");

printAry(ary);

sort(ary);

System.out.println();

System.out.println("1.升序, 2.降序");

int a = ss.nextInt();

if(a == 1){

swap(ary);

}

System.out.println("排序后的数组为:");

printAry(ary);

System.out.println();

}

}

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航