改进快速排序的时候用到了随机化的办法,而快排的算法要求提供一个给定区间内的随机整数。比如需要产生[i,j]这个区间内的随机整数。我认为最好的方法就是先对rand()取余产生[0,j-i+1]的随机数数然后加上偏移量i,这一样的方法比用判断好得多。
示例:
示例:
//
产生区间[i,j]内的随机整数
srand(time(NULL)); // 产生随机种子
target = rand() % (j-i+1 ) + i; // 对rand()取余产生[0,j-i+1]的随机数数然后加上偏移量i
srand(time(NULL)); // 产生随机种子
target = rand() % (j-i+1 ) + i; // 对rand()取余产生[0,j-i+1]的随机数数然后加上偏移量i