189 8069 5689

java冒泡排序降序代码 冒泡排序JAVA代码

java冒泡排序法代码

冒泡排序是比较经典的排序算法。代码如下:

成都网站设计、成都做网站、外贸网站建设,成都做网站公司-成都创新互联公司已向超过千家企业提供了,网站设计,网站制作,网络营销等服务!设计与技术结合,多年网站推广经验,合理的价格为您打造企业品质网站。

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

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

//交换位置

}    

拓展资料:

原理:比较两个相邻的元素,将值大的元素交换至右端。

思路:依次比较相邻的两个数,将小数放在前面,大数放在后面。即在第一趟:首先比较第1个和第2个数,将小数放前,大数放后。然后比较第2个数和第3个数,将小数放前,大数放后,如此继续,直至比较最后两个数,将小数放前,大数放后。重复第一趟步骤,直至全部排序完成。

第一趟比较完成后,最后一个数一定是数组中最大的一个数,所以第二趟比较的时候最后一个数不参与比较;

第二趟比较完成后,倒数第二个数也一定是数组中第二大的数,所以第三趟比较的时候最后两个数不参与比较;

依次类推,每一趟比较次数-1;

??

举例说明:要排序数组:int[] arr={6,3,8,2,9,1}; 

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

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

//交换位置

}    

参考资料:冒泡排序原理

java中怎样对一个整数数组进行降序排序

int[] array = {1,2,5,8,12}; //随便定义一个数组,用冒泡排序法

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

for(int j = i;j array.length;j++){

if (array[i] array[j]){

int temp = array[i];

array[i] = array[j];

array[i] = temp;

}

}

}

或者你有一个数组

List list = new ArrayList();

list.sort();

java冒泡排序法

public class SortTest {

public void sort(int[] args){

for(int m : args){

System.out.print("排序前 "+args[m]+" ");

}

int time1 = 0,time2 = 0;

for(int i = 0 ; i args.length-1 ; i++){

++time1;

for(int j = i+1 ; j args.length ; j++){

++time2;

int temp ;

if(args[i] args[j]){

temp = args[j];

args[j] = args[i];

args[i] = temp;

}

}

}

System.out.println();

System.out.println("外循环次数:"+time1+"内循环次数:"+time2);

for(int n : args){

System.out.print("排序后 "+n+" ");

}

}

public static void main(String[] args) {

int[] arg = new int[]{2,1,4,5,8,7,6,3,9,0};

new SortTest().sort(arg);

}

}

降序排列 循环次数最少

输出结果为:

排序前 4 排序前 1 排序前 8 排序前 7 排序前 9 排序前 3 排序前 6 排序前 5 排序前 0 排序前 2

外循环次数:9 内循环次数:45

排序后 0 排序后 1 排序后 2 排序后 3 排序后 4 排序后 5 排序后 6 排序后 7 排序后 8 排序后 9

java里升序和降序最简短的代码分别是什么?

直接调用jdk里面的方法Arrays.sort(args)方法。而且这个方法重载实现了多个参数,排序下标[N~M]位数字~倒叙,升序等等~

for (int i = 0; i list.size(); i++) {

for (int j = i + 1; j list.size(); j++) {

if (list.get(i) list.get(j)) {

int temp = list.get(i);

list.set(i, list.get(j));

list.set(j, temp);

}

}

}

System.out.println("升序:" + list);

for (int i = 0; i list.size(); i++) {

for (int j = i + 1; j list.size(); j++) {

if (list.get(i) list.get(j)) {

int temp = list.get(i);

list.set(i, list.get(j));

list.set(j, temp);

}

}

}

System.out.println("降序:" + list);

输入一组数组 如何用Java按冒泡排序和选择排序输出数组 求代码

/**

* 2015年5月28日下午9:52:57

* @author season TODO 测试已通过,获取财富值

*

*/

public class ArrayOperation {

/**

* 对数组 arr 进行冒泡排序升序排序

* @param arr

*            目标数组

*/

public static void bubbleToUp(int[] arr) {

if (null == arr)// 数组为空时,退出该方法

return;

for (int i = 0; i  arr.length - 1; i++) {

for (int j = 0; j  arr.length - i - 1; j++) {

if (arr[j]  arr[j + 1]) {

int temp = arr[j];

arr[j] = arr[j + 1];

arr[j + 1] = temp;

}

}

}

}

/**

* 使用选择排序法对目标数组进行降序排序

* @param arr

*            目标数组

*/

public static void selectToDown(int[] arr) {

for (int i = 0; arr != null  i  arr.length; i++) {

int flag = i;

for (int j = i + 1; j  arr.length; j++) {

if (arr[j]  arr[flag])

flag = j;

}

if (flag != i) {

int temp = arr[i];

arr[i] = arr[flag];

arr[flag] = temp;

}

}

}

/**

* 遍历数组所有元素

* @param arr

*            目标数组

*/

public static void displayArray(int[] arr) {

System.out.println();

for (int num : arr)

System.out.print("  " + num);

}

public static void main(String[] args) {

// 初始化数组

int[] arr = { 20, -878, 90, 78, 89, -908 };

// 首先进行冒泡排序(升序)

bubbleToUp(arr);

displayArray(arr);

// 然后进行选择排序(降序)

selectToDown(arr);

displayArray(arr);

}

}


文章标题:java冒泡排序降序代码 冒泡排序JAVA代码
转载源于:http://cdxtjz.cn/article/doosjeo.html

其他资讯