Cooperative communications exploit the spatial diversity inherent in multiuser system by allowing cooperation among users having a wide range of channel qualities. How to search the cluster-head and its member relay nodes to cooperate is important. Since nodes are coming into or out of the clusters time to time, the network topology is perturbed and the reconfiguration of the network is unavoidable. In this paper, we propose a new algorithm called stability weighted clustering algorithm (SWCA) to solve this problem. We define the stability by using a new metric of mobility. In the traditional WCA, the speed of every separate node is considered. However, our proposed algorithm introduces a new weight factor, which uses the relative speed of two nodes to represent the mobility of the network. Simulation results show that the SWCA achieves better stability than the traditional WCA while it performs almost the same performance as the WCA with respect to the dominant set update rate and the load balancing factor (LBF).