A topology constructing algorithm based on punishment and cultivation called TCBPC is presented. Aiming at the non-cooperation behaviors such as free-riding, sybil attack and whitewashing, a self-supervising and self-punishing schema is presented to construct the adaptive topology. Based on the above schema, non-cooperation nodes are punished and cooperation nodes are encouraged, so as to guarantee cooperation nodes to achieve services efficiently. A mobile P2P overlay topology is constructed, which integrates the limited state maintenance, local communications, information exchange and global view. Simulation results show that the topology structure constructed by TCBPC algorithm has better scalability, stability, fault tolerance, and improves the searching efficiency.