Many algorithms, tree-searching and decoding algorithms in particular, need to generate some lists of binary vectors by increasing value of a given weight function and without omission. To this end, there are not many alternatives to the Dijkstra and the Viterbi algorithm. In this letter a technique suggested by Battail in 1986 to perform this task is reviewed. Then a new technique is deduced from it, that proves to be more efficient than all the others. As an illustration of its good performance we compare a maximum-likelihood-decoding (MLD) algorithm that can be derived from it, with current state-of-the-art complete MLD algorithms for general binary linear codes.