Làm cách nào để duy trì thứ tự danh sách thực tế sau khi đếm sự xuất hiện của nó bằng cách sử dụng băm trong chương trình sau? Ví dụ: <DATA>
làLàm cách nào để duy trì thứ tự các khóa tôi thêm vào một băm Perl?
a
b
e
a
c
d
a
c
d
b
etc.
Sử dụng hàm băm, tôi tính sự xuất hiện của từng phần tử.
và những gì tôi muốn là:
a 3
b 2
e 1
c 2
d 2
nhưng chương trình sau đây cho thấy tôi khác.
my (%count, $line, @array_1, @array_2);
while ($line = <DATA>) {
$count{$line}++ if ($line =~ /\S/);
}
@array_1 = keys(%count);
@array_2 = values(%count);
for(my $i=0; $i<$#array_1; $i++)
{
print "$array_1[$i]\t $array_2[$i]";
}
Bạn có thể vui lòng gắn thẻ mã của mình để đọc nó dễ dàng không. – Space
Vì vậy, bạn đã hỏi năm câu hỏi, nhận được một loạt các câu trả lời cho tất cả chúng và không ai trong số họ đã đủ tốt để được chấp nhận, phải không? –
@ Sinan: Không ... không phải là nó ...... tôi không thể tìm được nơi để thừa nhận tất cả các câu trả lời tuyệt vời .... chỉ cần tự hỏi hoặc là nó được thực hiện bằng cách thêm một bình luận hoặc là có nơi khác .... một newbie để stackoverflow cũng như perl ... Xin lỗi, tôi có thể dành chút thời gian để tìm hiểu cách tham gia tích cực vào nền tảng này ... Hầu như tất cả các câu trả lời đã cho tôi một ý tưởng mới để tìm hiểu ... và phục vụ mục đích của tôi ... – Cthar