说明:利用随机函数生成一个随机数组,然后对数组进行排列,再利用二分查找快速查找一个数。
一.生成随机数组
1 time_t ts; 2 //等价于long ts; 3 unsigned int num = time(&ts); 4 srand(num); 5 int a[10] = {0}; 6 for(int i = 0;i<10;i++) 7 a[i] = rand()%100;
注意:sizeof(long) = sizeof(unsigned int) = sizeof(time_t) = 4。上述代码也可以用以下代码代替:
1 srand(time(NULL)); 2 int a[10] = {0}; 3 for(int i = 0;i<10;i++) 4 a[i] = rand()%100;
二.对数组进行排列
在上一节已经叙述过快速排序的原理了,这里不再过多讲解,直接上迭代法排序代码。
1 void sortlist(int *p,int low,int high) 2 { 3 if(low < high) 4 { 5 int l = low; 6 int h = high; 7 int middle = p[low]; 8 while(l<h) 9 { 10 while(p[h] >= middle && l<h) 11