選擇排序(java機試題)

要求:輸入一個數組,然後用選擇排序從小到大排序並輸出。

java實現如下:

import java.util.Scanner;
public class SelectSort
{
	/**
	 * 選擇排序
	 */
	public static void main(String[] args)
	{
		Scanner str = new Scanner(System.in);
		String[] strlist = str.nextLine().split(" ");//這裏想獲得字符串數組,從而獲得輸入數值的個數
		int[] list = new int[strlist.length];//因爲java中數組需要在使用前給定大小,大小從字符串數組獲得
		for (int i = 0; i < strlist.length; i++)
		{
			list[i] = Integer.parseInt(strlist[i]);
		}
		for (int i = 0; i < list.length; i++)
		{
			System.out.print(list[i] + " ");
		}
		selectSort(list);
		mergeSort(list);
		for (int e : list)
		{
			System.out.print(e + " ");
		}
		

	}
	
	//選擇排序
	public static void selectSort(int[] list)
	{
		int min, index;//用於記錄當前循環中最小數值
		for (int i = 0; i < list.length - 1; i++)
		{
			min = list[i];
			index = i;
			for (int k = i + 1; k < list.length; k++)
			{
				if (list[k] < min)
				{
					min = list[k];
					index = k;
				}
			}
			list[index] = list[i];
			list[i] = min;
		}
	}
	
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章