Device-to-device (D2D) communication underlaying cellular systems is proposed to support short-range data-intensive services. In a D2D-enabled system, a closely located user pair is allowed to communicate over a direct data link, instead of being relayed through the network. In this study, based on the power control framework in traditional cellular networks, a combined power control and link selection algorithm with temporary removal for D2D-enabled systems is proposed. It is proved that the proposed algorithm converges to the optimal power and link selection vector in all feasible systems. In an infeasible system, convergence of the temporary removal algorithm cannot be guaranteed. Therefore two adaptive gradual removal algorithms are proposed, which are suitable for lightly and heavily loaded systems, respectively. Numerical results show that both of the proposed algorithms outperform the existing ones in terms of outage probability and convergence rate.