1. 程式人生 > >java之氣泡排序和選擇排序

java之氣泡排序和選擇排序

import java.util.Scanner;

public class FoundMax
{
	public static void main(String[]args)
	{
		int[] a;
		int mida=0;//用於交換
		int i=0;
		int j=0;
		

		int max=0;
		int min=0;

		a=new int[5];
		Scanner s=new Scanner(System.in);

		System.out.println("請您輸入這五名同學的成績:");

		for(i=0;i<5;i++) //給陣列賦值
		{
			a[i]=s.nextInt();
		}

		//輸出成績
		for(i=0;i<5;i++)
		{
			System.out.println("a["+i+"]="+a[i]+" \t");
		}


		max=a[0];//假設a[0]是最大值	
	
		for(i=1;i<5;i++)//找出最大的值
		{
			if(a[i]>max)
			{
				max=a[i];	
			}	
		}
		System.out.println("最大是:"+max);

		//氣泡排序
		for(i=0;i<4;i++)
		{
			for(j=0;j<4-i;j++)
			{
				if(a[j]<a[j+1])//如果前一個數小於後一個數,就進行位置交換
				{
					mida=a[j];
					a[j]=a[j+1];
					a[j+1]=mida;	
				}
			}			
		}
	

		System.out.println("氣泡排序結果:");
		for(i=0;i<5;i++)
		{
			System.out.println("a["+i+"]="+a[i]+" \t");
		}
		
		//選擇排序
		for(i=0;i<4;i++)
		{
			for(j=i+1;j<5;j++)//從(i+1) 到 4 位置中找出比i位置小的數,然後交換
			{
				if(a[j]<a[i])//逐個跟i位置的數比較
				{
					mida=a[i];
					a[i]=a[j];
					a[j]=mida;
				}
			}
		}

		System.out.println("選擇排序結果:");
		for(i=0;i<5;i++)
		{
			System.out.println("a["+i+"]="+a[i]+" \t");
		}
	}
}