mwultong Blog ... 프로그래밍 / 계산기

컴퓨터 엑셀 워드 포토샵 구글어스 WINDOWS JAVASCRIPT JAVA C++

 
Friday, October 20, 2006

펄/Perl] 숫자 배열 정렬(소팅), sort 함수 사용법: Sort Number Array


숫자 배열을 정렬하는 방법입니다. 그런데 문자열 배열을 정렬하는 방식으로 숫자 배열을 정렬하면 엄청난 오류가 발생합니다. 숫자를 문자열로서 소팅하면, 숫자의 첫글자를 기준으로 정렬을 하게 되어 이상한 결과가 나오게 되는 것입니다. 숫자 소팅은 숫자의 값으로 소팅을 해야 합니다.


숫자 소팅 예제


#!/usr/bin/perl
use strict; use warnings;

  # 숫자 배열 정의
  my @num = qw( 24 6523.01 9857 51 2 43 90 2 0 0.0 636.62 );


  print "주의! 틀린 방법으로 소팅\n";
  @num = sort @num;
  print $_, "\n" foreach (@num); # 배열 출력


  print "\n------------------\n";


  print "바른 방법으로 숫자 소팅\n";
  @num = sort {$a <=> $b} @num;  # 1,2,3 순으로 정렬; Ascending
  print $_, "\n" foreach (@num); # 배열 출력


  print "\n------------------\n";


  print "바른 방법으로 숫자 역순(Descending) 소팅\n";
  @num = sort {$b <=> $a} @num;  # 3,2,1 역순으로 정렬
  print $_, "\n" foreach (@num); # 배열 출력




실행 결과:
D:\Z>0.pl
주의! 틀린 방법으로 소팅
0
0.0
2
2
24
43
51
636.62
6523.01
90
9857

------------------
바른 방법으로 숫자 소팅
0
0.0
2
2
24
43
51
90
636.62
6523.01
9857

------------------
바른 방법으로 숫자 역순(Descending) 소팅
9857
6523.01
636.62
90
51
43
24
2
2
0
0.0

D:\Z>



▶▶ 펄/Perl] 문자열 배열 정렬(소팅), sort 함수 사용법: Sort String Array

▶▶ 윈도우 SORT 명령, 숫자 크기순 정렬(소팅) 문제 해결, Perl(펄)로


숫자 크기순 정렬 도구: ▶▶ 숫자 크기순 정렬 도구, 소트 소팅 툴; Numeric Sort Tool

문자열 가나다순 정렬 툴: ▶▶ 가나다순 정렬, 문자 단어 문자열 소팅 소트 변환기; Sort Strings Tool




tag: perl
Perl | 펄

0 Comments:

<< Home RSS 2.0 feed

구글 Google 에서 제공하는 무료 블로그 서비스인 블로거 Blogger 의 인터넷 주소는 www.blogger.com 입니다. Blogger 에 블로그를 만들면, blogspot.com 이라는 주소에 블로그가 생성됩니다.
블로그를 직접 방문하지 않고도 최신 게시물을 구독하려면 RSS 2.0 feed 주소를 리더기에 등록하시면 됩니다.
Previous Posts
Monthly Archives
Top