Beefy Boxes and Bandwidth Generously Provided by pair Networks
good chemistry is complicated,
and a little bit messy -LW

Re: swap columns in a 2-dim array

by TedPride (Priest)
on Jun 17, 2005 at 16:21 UTC ( #467792=note: print w/replies, xml ) Need Help??

in reply to swap columns in a 2-dim array

If you know there's going to be a large number of swaps, why not make a set of array subscripts and swap those around, then output in whatever the final order is?
use strict; use warnings; my (@nums, @index, $x, $y); # CREATE MATRIX push @nums, [1..12] for 1..12; # CREATE INDEX @index = (0..11); # PERFORM RANDOM SWAPS for (1..20) { $x = int rand 12; $y = int rand 12; swap(\@index, $x, $y); } # OUTPUT IN FINAL ORDER for $x (0..$#nums) { print $nums[$y][$_].' ' for (@index); print "\n"; } sub swap { my ($p, $x, $y) = @_; my $t = $p->[$y]; $p->[$y] = $p->[$x]; $p->[$x] = $t; }

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://467792]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others romping around the Monastery: (6)
As of 2016-10-21 23:59 GMT
Find Nodes?
    Voting Booth?
    How many different varieties (color, size, etc) of socks do you have in your sock drawer?

    Results (291 votes). Check out past polls.