헤르메스 LIFE

[Source] 배열값 정렬하기 본문

Core Java

[Source] 배열값 정렬하기

헤르메스의날개 2010. 10. 20. 15:52
728x90
public class SortString {

 /**
  * Double 형 배열 정열
  * @param nums  정열될 배열
  * @return  double[] 정열된 배열
  */
    static double[] sortDouble(double[] nums) {
  for(int i = 0; i < nums.length; i++) {

   int min = i;

   for(int j = i; j < nums.length; j++) {
    if (nums[j] < nums[min]) min = j;
   }

   double tmp;
   tmp = nums[i];
   nums[i] = nums[min];
   nums[min] = tmp;
  }

  return nums;
    }

 /**
  * String 형 배열 정열
  * @param nums  정열될 배열
  * @return  String[] 정열된 배열
  */
    static String[] sortString(String[] nums) {
  for(int i = 0; i < nums.length; i++) {

   int min = i;

   for(int j = i; j < nums.length; j++) {
    if (nums[j].compareTo(nums[min]) < 0) min = j;
   }

   String tmp;
   tmp = nums[i];
   nums[i] = nums[min];
   nums[min] = tmp;
  }

  return nums;
    }

    public static void main(String[] args) 
 {
  try {
   // 텍스트 정렬 테스트
   String[] nums = new String[10];
   nums[0] = "하늘";
   nums[1] = "비행기";
   nums[2] = "태극기";
   nums[3] = "물고기";
   nums[4] = "기러기";
   nums[5] = "구름";
   nums[6] = "피노키오";
   nums[7] = "치카치카";
   nums[8] = "소스";
   nums[9] = "안녕";

   sortString(nums);
   for(int i = 0; i < nums.length; i++) System.out.println(nums[i]);

   // Double 정렬 테스트
   double[] nums1 = new double[10];
   for(int i = 0; i < nums1.length; i++)
    nums1[i] = Math.random() * 100;
   sortDouble(nums1);
   for(int i = 0; i < nums1.length; i++)
    System.out.println(nums1[i]);

  } catch (Exception e){
     System.out.println("Exception :" + e.toString());
  }
    }
}


728x90