A new distributed algorithm, called Crystal-Lattice Permutation (CLP) algorithm, is devised to approach the coverage problem in wireless sensor networks. AU nodes are assumed as mobile and run the same CLP algorithm in . An initial seed triggers six neighboring nodes to move to hexagon permutation positions, which is like the Crystal-Lattice formation process in nature. These chosen nodes then become new seeds to trigger other neighboring nodes. By such a progressive process, with initial and boundary conditions, the coverage is achieved. Comparing to the Virtual Force algorithm (VFA), the CLP algorithm needs fewer nodes and takes shorter average moving distance to achieve 100% coverage in random deployment. In simulation, the CLP algorithm deployed at least 60 nodes to achieve the 100% coverage, while the VFA algorithm required more than 100 nodes, under the same assumptions. The average moving distance for each CLP node was less than a half of the VFA node. In addition, as there are n mobile nodes, the number of CLP messages is proportional to n, while VFA is proportional to n2. The CLP algorithm is robust in fault tolerance when some nodes are error in distribution.