The problem of sorting signed permutations by reversals (SBR) is a fundamental problem in computational molecular biology. The goal is, given a signed permutation, to find a shortest sequence of reversals that transforms it into the positive identity permutation, where a reversal is the operation of taking a segment of the permutation, reversing it, and flipping the signs of its elements. In this paper we describe a randomized algorithm for SBR. The algorithm tries to sort the permutation by performing a random walk on the oriented Caylay-like graph of signed permutations under its oriented reversals, until it gets "stuck". We show that if we get stuck at the identity permutation, then we have found a shortest sequence. Empirical testing shows that this process indeed succeeds with high probability on a random permutation. To implement our algorithm we describe an efficient data structure to maintain a permutation under reversals and draw random oriented reversals in sub-linear time per operation. With this data structure we can implement the random walk in time O(n3/2 √log n), thus obtaining an algorithm for SBR that almost always runs in subquadratic time. The data structures we present may also be of independent interest for developing other algorithms for SBR, and for other problems.