java实现排序的几种方法

时间:2023-02-01 19:24:39
package com.ywx.count;

import java.util.Scanner;
/**
 * 题目:排序的几种方式(汇总及重构) 
 * @author Vashon(yangwenxue)
 * date:20150320
 *
 */
public class SortTest {
	public static void main(String args[]){
		System.out.println("请输入要排序的个数:");
		Scanner scanner=new Scanner(System.in);
		int n=scanner.nextInt();
		float[] sortdemo=new float[n];
		for(int i=0;i<n;i++){
			System.out.println("请输入第"+(i+1)+"个数:");
			Scanner s=new Scanner(System.in);
			sortdemo[i]=s.nextFloat();
		}
		Sort.compareMaxMin(sortdemo);
		Sort.compareMinMax(sortdemo);
	}
}
class Sort{
	/**
	 * 降序排序
	 * @param f
	 */
	public static void compareMaxMin(float[] f){
		float temp;
		for(int i=0;i<f.length;i++){
			for(int j=i+1;j<f.length;j++){
				if(f[i]<f[j]){
					temp=f[i];
					f[i]=f[j];
					f[j]=temp;
				}
			}
		}
		System.out.println("降序排序为:");
		for(int k=0;k<f.length;k++){
			System.out.print(f[k]+",");
		}
	}
	/**
	 * 升序排序
	 * @param f
	 */
	public static void compareMinMax(float[] f){
		float temp;
		for(int i=0;i<f.length;i++){
			for(int j=i+1;j<f.length;j++){
				if(f[i]>f[j]){
					temp=f[i];
					f[i]=f[j];
					f[j]=temp;
				}
			}
		}
		System.out.println();
		System.out.println("升序排序为:");
		for(int k=0;k<f.length;k++){
			System.out.print(f[k]+",");
		}
	}
	/**
	 * 冒泡排序
	 * @param f
	 */
	public static void maopao(float[] f){
		for(int i=0;i<f.length-1;i++){
			for(int j=0;j<f.length-i-1;j++){
				if(f[j]<f[j+1]){
					float temp=f[j];
					f[j]=f[j+1];
					f[j+1]=temp;
				}
			}
		}
		for(int a=0;a<f.length;a++){
			System.out.print(f[a]+",");
		}
	}
}

版权声明:本文为博主原创文章,未经博主允许不得转载。