Cognitive radio requires sophisticated techniques in spectrum sensing and spectrum analysis to enhance spectrum decision functionality. Generally, it is recognized that if a Primary user (PU) appears in the spectrum band occupied by secondary user (SU). SU should vacate the current spectrum band and move to the available spectrum immediately. However, this kind of spectrum change can decrease the total throughput of SU. The alternative method is to make the SU wait until the PU has left the spectrum band and then transmit again. In this paper, we propose an efficient spectrum allocation scheme which dynamically makes the best choice for the SU within equivalent and nonequivalent channel bandwidths to improve its throughput. This dynamic link maintenance algorithm determines the SU highest channel priority index before transmitting again. Specifically, the SU's stay in the current channel if it has the highest throughput priority index achieved; otherwise, the SU selects the sensed channel with the highest priority index.