# 전쟁에 대한 Shiqianfeng 자바 클래스 년 3 월 28 일 #

처음 십삼일에 대한 클래스에서 전쟁에 반대 Shiqianfeng;
; 토요일 오늘,하지만 JAVA_DAY11 있도록 명쾌한 교훈을 만들기 위해
, 오늘 우리는 코드를 작성 단계로 메모장 종료 코드를 작성하는 이클립스를 사용하기 시작을 ,
학습 과정은 일식을 잘 알고있는 일상적인 사용, 2 차원 배열의 종류 일반적으로 사용되는 클래스를 선택하고,
중국의 세계 연료 보급 연료가!
내가 가자!

package homework;

import java.util.Arrays;
import java.util.Scanner;

import javax.swing.plaf.synth.SynthSpinnerUI;

/**
 * 次代码为今天学的剩余两种排序:选择排序+利用导包排序.
 */
public class Test1 {

	public static void main(String[] args) {
		Scanner sc =new  Scanner(System.in);
		System.out.println("请输入长度:");
		int len = sc.nextInt();
		int[] arr = new int[len];
		for(int i = 0;i<arr.length;i++){
			System.out.println("请输入第"+(i+1)+"个数:");
			arr[i] = sc.nextInt();
		}
//		函数调用选择排序.
		selectionSort(arr);
		
//		利用Java类来排序.
		Arrays.sort(arr);
		for(int e :arr){
			System.out.print(e+"\t");
		}
		System.out.println("main ... over");
	}
	/**
	 * 选择排序: 思路: 每一轮找个基准值:在基准值上放一个比较小的数.
	 * 定义一个变量k用于记录每轮最小值的下标,以便交换.
	 */
	public static void selectionSort(int[] arr){
		for(int i =0;i<arr.length;i++){
			int k=i;
			for(int j = k+1;j<arr.length;j++){
				if(arr[k]>arr[j])
					k=j;
			}
//			防止过度交换:因为一轮后k值没变的话,就没必要交换.
			if(k!=i){
				int temp = arr[i];
				arr[i] = arr[k];
				arr[k] = temp;
			}
		}
		for(int e :arr){
			System.out.print(e+"\t");
		}
		System.out.println("选择排序...over");
	}
}

게시 12 개 원래 기사 · 원 찬양 4 · 조회수 1095

추천

출처blog.csdn.net/yuxinganggame/article/details/105169798