`

选择排序

阅读更多
选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理如下。首先在未排序序列中找到最小元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小元素,然后放到排序序列末尾(目前已被排序的序列)。以此类推,直到所有元素均排序完毕。

import java.util.Scanner;
public class selectionSort {

	/**
	 * @param args
	 */
	static int[] sort;
	static int n;
	public static void minElement(int start,int end){
		int min = sort[start];
		int k = start;
		int temp = 0;
		for(int i = start;i < end;i++)
		{
			if(sort[i] < min)
			{
				k = i;
				min = sort[i];
			}
		}
		temp = sort[start];
		sort[start] = sort[k];
		sort[k] = temp;
	}
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		System.out.print("请输入要排序的数字个数:");
		Scanner in = new Scanner(System.in);
		n = in.nextInt();
		sort = new int[n];
		System.out.print("请输入" + n +"个整数:");
		for(int i = 0;i < n;i++)
			sort[i] = in.nextInt();
		for(int j = 0;j < n;j++)
		{
			int flag = 0;
			minElement(j,n);
			System.out.println(j + 1 +"趟排序后的结果为:");
			for(int m = 0;m < n;m++)
				System.out.print(sort[m] + "  ");
			System.out.println();
			for(int m = 0;m < n-1;m++)
				if(sort[m] < sort[m+1])
					flag = flag + 1;
			if(flag == n-1)
				break;
		}
		System.out.println("选择排序的结果为:");
		for(int m = 0;m < n;m++)
			System.out.print(sort[m] + "  ");
	}

}
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics