java对Arraylist冒泡排序,怎么合理调用一个函数实现?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java对Arraylist冒泡排序,怎么合理调用一个函数实现?相关的知识,希望对你有一定的参考价值。
不知道为什么没有排序效果package test3;import java.util.Scanner;import java.util.ArrayList;//对输入的数字进行升序排序public class chapter13_3 public static void main(String [] args) Scanner input = new Scanner(System.in); System.out.println("请乱序输入一串数字(输入0时结束输入): "); ArrayList<Double> list = new ArrayList<Double>(); double value; do value =input.nextDouble(); if(!list.contains(value)&&value!=0) list.add(value); while (value!=0); sort(list); System.out.println("排序后的结果为:" + list); for(int i = 0;i < list.size(); i++) System.out.print(list.get(i) + " "); //对输入的数字进行冒泡排序的方法 public static void sort(ArrayList<Double> list) for(int i = 0 ; i < list.size()-1; i++) for(int j = 0 ; j < list.size()-i-1;j++) if(list.get(j) > list.get(j+1)) double temp = list.get(j); list.set(j,list.get(j+1)); list.set(j, temp); //if //for //for //sort
参考技术A 你的两个set()第一个参数都是 j,第二个改为j+1吧 参考技术B 没有现成的,只能自己来写。系统有一个sort方法,但这个未必是冒泡排序。 参考技术C collections.sort(),这个方法可以实现 参考技术D ArrayList自带sort方法,无需再自己实现。
冒泡排序
冒泡一:
public static int[] GetBubbbleSort( int[] ArrayList) 2 { 3 for (int i = 0; i < ArrayList.Length-1; i++) 4 { 5 for (int j = 0; j < ArrayList.Length-i-1; j++) 6 { 7 int temp; 8 //大于为从小到大,小于为从大到小 9 if (ArrayList[j]>ArrayList[j+1]) 10 { 11 temp = ArrayList[j]; 12 ArrayList[j] = ArrayList[j + 1]; 13 ArrayList[j+1] = temp; 14 } 15 } 16 } 17 return ArrayList; 18 }
以上是关于java对Arraylist冒泡排序,怎么合理调用一个函数实现?的主要内容,如果未能解决你的问题,请参考以下文章