Java演算法之路

vInadiak發表於2018-11-30

今天由於各種原因–只能寫一題,後續再陸續更新。

陣列排序

用了兩種演算法,第二種演算法參照《演算法導論》這本書,推薦大家去看

import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner sc=new Scanner(System.in);
		int n=sc.nextInt();
		int []al=new int[n];
		for(int i=0;i<al.length;i++) {
			al[i]=sc.nextInt();
		}
		int temp;
		for(int i=0;i<al.length;i++) {
			for(int j=i+1;j<al.length;j++) {
				if(al[i]>al[j]) {
					temp=al[i];
					al[i]=al[j];
					al[j]=temp;
				}
			}
		}
			for(int i=0;i<al.length;i++)
				System.out.print(al[i]+" ");
	}
}
import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner sc=new Scanner(System.in);
		int n=sc.nextInt();
		int []al=new int[n];
		for(int i=0;i<al.length;i++) {
			al[i]=sc.nextInt();
		}
		int key;
		int j;
		for(int i=1;i<al.length;i++) {
			key=al[i];
			j=i-1;
			while(j>=0&&al[j]>key) {
				al[j+1]=al[j];
				j=j-1;
				al[j+1]=key;
				
			}
		}
			for(int i=0;i<al.length;i++)
				System.out.print(al[i]+" ");
	}
}

相關文章