현재 위치 - 인적 자원 플랫폼망 - 미니프로그램 개발 - Perl 단순 애플릿
Perl 단순 애플릿
너의 문제는 매우 간단하지만, 너의 화살은 나를 곤혹스럽게 한다. 예를 들어 해시, $ 해시 {"c10"} = "123", $ 해시 {"c1;

그것은 수동으로만 할 수 있다. 새 멤버를 읽을 때마다 해시가 읽은 멤버를 통과합니다. 값이 같으면 delete 를 사용하여 중복 항목을 삭제하고 새 항목을 작성합니다.

구체적으로 내가 너에게 쓴 간단한 애플릿, 마음대로 쓴 간단한 알고리즘을 보면, 시간 복잡성의 최적화에 관계없이:

#! /usr/bin/perl-W.

경고 사용

내% 해시

For(my $ I = 0;; $ I<6; $i++)

{

$ hash {"C $ I"} = $ I

}

$ hash {"C33"} = 3;;

$ hash {"C55"} = 5;;

$ hash {"C333"} = 3;;

Foreach my $k (키 (%해시))

{printf ("$ k-> $ hash {$ k };; " ); }

Printf ("\ n");

# 동일한 값을 가진 요소 결합

Foreach my $k 1 (키 (%해시))

{

Foreach my $k2 (키 (%해시))

{

If(exists($hash{$k 1}) 및 exists($hash{$k2}) 및 $ hash {$ k/kloc)

{

$hash{"$k 1, $ k2 "} = $ hash {$ k1};

삭제 ($ 해시 {$ k1});

삭제 ($ hash {$ k2});

}

}

}

Foreach my $k (키 (%해시))

{printf ("$ k-> $ hash {$ k };; " ); }

결과는 다음과 같습니다.

C5->; 5; C0->; 0; C33->; 3; C4->; 4; C1->; 1; C3->; 3; C333->; 3; C55->; 5; C2->; 2;

C0->; 0; C4->; 4; C1->; 1; C5, C55 ->5; C333, C33, C3 ->3; C2->; 2;

첫 번째 행은 초기 해시입니다. 두 번 세 번 반복합니다.

두 번째 행이 병합됩니다.