資源簡介
線性時間選擇 算法設計與分析,是實驗程序……
代碼片段和文件信息
/*?Note:Your?choice?is?C?IDE?*/
#include?“stdio.h“
int?partition(int?array[]int?pint?r);
int?select(int?array[]int?pint?rint?i);
int?rand_partition(int?array[]int?pint?r);
int?flag=0;????????????????/*比較次數計數標志*/
main()
{
int?array[50];
int?ijt;
printf(“輸入第i小個數:“);
scanf(“%d“&i);
for(j=0;j<50;j++)
??array[j]=rand()%100;
t=select(array049i);
printf(“第i小個數的大小:%d;比較的次數:%d\n“tflag);?
}
int??partition(int?array[]int?pint?r)
{
int?xijtemp;
x=array[r];?????????????????????/*最右端元素作為樞紐元素*/
i=p-1;
for(j=p;j {
if(array[j]<=x)
{
i++;
temp=array[i];
array[i]=array[j];
ar
評論
共有 條評論