Beefy Boxes and Bandwidth Generously Provided by pair Networks
laziness, impatience, and hubris

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 all is quiet...

How do I use this? | Other CB clients
Other Users?
Others drinking their drinks and smoking their pipes about the Monastery: (7)
As of 2017-12-15 00:10 GMT
Find Nodes?
    Voting Booth?
    What programming language do you hate the most?

    Results (415 votes). Check out past polls.