The problem of controllability of complex networks is central in network theory and has yield many promising and significant results. In this paper, we focus on the controllability of complex networks with arbitrary topology and weight. Base on node's control capacity, we propose algorithms to identify the minimum driver node set and the approximately minimum controlled node set. Moreover, we simulate our algorithms on real and man-made networks and simulation results show that our algorithms are efficient in identifying the minimum driver node set and approximately minimum controlled node set.