A Clustering Algorithm for Wireless Sensor Networks Based on Non-uniformly Distributed Double Cluster Heads