#include <stdio.h>
#include <time.h>
#include <stdlib.h>
#define LIMIT 30000
void CreateArray ( int ** p, int N) {
int i;
* p
= ( int * ) malloc ( N
* sizeof ( int ) ) ; for ( i= 0 ; i< N; i++ )
( * p
) [ i
] = rand ( ) % LIMIT
;
for ( i= 0 ; i< N; i++ )
}
void Search ( int * p, int N, int key) {
int comparisons = 0 , success_search = 0 ;
int i;
clock_t start, end;
double elapsed;
for ( i= 0 ; i< N; i++ ) {
if ( key == p[ i] ) {
comparisons++;
success_search++;
break ;
} else {
comparisons++;
}
}
elapsed = ( ( double ) ( end - start) ) / CLOCKS_PER_SEC;
printf ( "\n Total comparisons: %d \n " , comparisons
) ; printf ( "Time elapsed: %f \n " , elapsed
) ; printf ( "Successful comparisons: %d \n \n " , success_search
) ; }
int main( void ) {
int N, * p, key;
key = 1 ;
CreateArray( & p, N = 7 ) ;
Search( p, N, key) ;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDx0aW1lLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KI2RlZmluZSBMSU1JVCAzMDAwMAoKdm9pZCBDcmVhdGVBcnJheSAoaW50ICoqcCwgaW50IE4pewoJaW50IGk7CgkqcCA9IChpbnQqKSBtYWxsb2MgKE4qc2l6ZW9mKGludCkpOwoJc3JhbmQoKGxvbmcpIDIxMCk7Cglmb3IgKGk9MDsgaTxOOyBpKyspCgkJKCpwKVtpXSA9IHJhbmQoKSAlIExJTUlUOwoKCWZvciAoaT0wOyBpPE47IGkrKykKCQlwcmludGYoIiVkICIsICgqcClbaV0pOwp9Cgp2b2lkIFNlYXJjaCAoaW50ICpwLCBpbnQgTiwgaW50IGtleSl7CglpbnQgY29tcGFyaXNvbnMgPSAwLCBzdWNjZXNzX3NlYXJjaCA9IDA7CglpbnQgaTsKCgljbG9ja190IHN0YXJ0LCBlbmQ7Cglkb3VibGUgZWxhcHNlZDsKCXN0YXJ0ID0gY2xvY2soKTsKCglmb3IgKGk9MDsgaTxOOyBpKyspewoJCWlmIChrZXkgPT0gcFtpXSl7CgkJCWNvbXBhcmlzb25zKys7CgkJCXN1Y2Nlc3Nfc2VhcmNoKys7CgkJCXByaW50ZigiXG5Gb3VuZCEiKTsKCQkJYnJlYWs7CgkJfSBlbHNlIHsKCQkJY29tcGFyaXNvbnMrKzsKCQkJcHJpbnRmKCJcbk5vdCBmb3VuZCEiKTsKCQl9Cgl9CgllbmQgPSBjbG9jaygpOwoJZWxhcHNlZCA9ICgoZG91YmxlKSAoZW5kIC0gc3RhcnQpKSAvIENMT0NLU19QRVJfU0VDOwoKCXByaW50ZigiXG5Ub3RhbCBjb21wYXJpc29uczogJWQgXG4iLGNvbXBhcmlzb25zKTsKCXByaW50ZigiVGltZSBlbGFwc2VkOiAlZiBcbiIsZWxhcHNlZCk7CglwcmludGYoIlN1Y2Nlc3NmdWwgY29tcGFyaXNvbnM6ICVkIFxuXG4iLHN1Y2Nlc3Nfc2VhcmNoKTsKfQoKaW50IG1haW4odm9pZCl7CglpbnQgTiwgKnAsIGtleTsKCglrZXkgPSAxOwoJQ3JlYXRlQXJyYXkoJnAsIE4gPSA3KTsKCVNlYXJjaChwLCBOLCBrZXkpOwp9