本文主要是介绍题目:输入 5 个数(含负数、小数)将它们按由小到大的顺序排列起来。提示:需要排序的数字通过参数传递进来。,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
题目:输入 5 个数(含负数、小数)将它们按由小到大的顺序排列起来。
提示:需要排序的数字通过参数传递进来。
例如:
输入:-1 2.1 -3 5 7 输出: -3 -1 2.1 5 7
import java.util.Scanner;public class FuShuXiaoShuPaiXu {public static void swap(double[] arr,int a,int b){double tmp = 0.0;tmp = arr[a];arr[a] = arr[b]; arr[b] = tmp;}//最基本的方法public static void sort1(double[] arr){for(int i = 0; i < arr.length; i++){for(int j = 1; j < arr.length - i; j++){if(arr[j-1] > arr[j]){swap(arr, j-1, j);}}}}//改进:如果在某次排序的过程中没有发生数据交换的动作,证明该数组中的数据已经按从小到大排列好了,不用再进行下一次计算public static void sort2(double[] arr){boolean flag = true;while(flag){flag = false;for(int j = 0; j < arr.length - 1; j++){if(arr[j] > arr[j+1]){swap(arr, j, j+1);flag = true;}}}}public static void main(String[] args) {double[] arr = new double[5];Scanner scanner = new Scanner(System.in);System.out.println("请任意输入五个数字:\n");for(int i = 0; i < 5; i++){arr[i] = scanner.nextDouble();}sort1(arr);
// sort2(arr);System.out.println("排序后结果为:");for(int i = 0; i < 5; i++){System.out.print(" "+arr[i]);}}}
这篇关于题目:输入 5 个数(含负数、小数)将它们按由小到大的顺序排列起来。提示:需要排序的数字通过参数传递进来。的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!