要求:輸入一個數組,然後用選擇排序從小到大排序並輸出。
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;
}
}
}