Esempio n. 1
0
int main(int argc, char *argv[]) {
	data_t alldata[MAXDATA];
	int i,l,k;
	int n;
	int c=0;
	data_t data;
	/* open a buildfile */
	FILE *buildfile;
	if((buildfile=fopen(argv[1], "r"))==NULL){
		printf("No file\n");
	}  
	n = 0;
	while(fscanf(buildfile,"%d %s\n",&data.key,&data.val)==2){
		alldata[(n)++]=data;
	}
	fclose(buildfile);
	
	int searchkey;
	int search[MAXDATA];
	int m=0;
	while(scanf("%d\n",&searchkey)==1){
		search[m]=searchkey;
		m++;
	}	
	SkipSet* set = make_skipset();    
     	for(i=0;i<n;i++){
     		c+=insert(set, alldata[i].key);
     	}
     	printf("%d Insertions %d\n",n,c);
     	for(l=0;l<m;l++){
     		if(search_key(set, search[l])) {
     			printf("%d ",search[l]);
     			for(k=0;k<n;k++){
     				if(search[l]==alldata[k].key){   	     	     
     					printf("%s %d\n",alldata[k].val,l);
     				}
     			}
     		}
     		else{
     			printf("%d NOTFOUND %d\n",search[l],l);
     		}
     	} 
     	return 0;
}
Esempio n. 2
0
#include "cspec.h"

#include "skip_list.h"

DESCRIBE(EmptySkipList, "Empty skip list")

	SkipSet* ss = make_skipset();

	IT( "has a count of 0" )
		SHOULD_EQUAL(count(ss), 0)
	END_IT

	IT( "does not contain any value" )
		SHOULD_EQUAL(contains(ss, 0), 0)
		SHOULD_EQUAL(contains(ss, 1), 0)
		SHOULD_EQUAL(contains(ss, 2), 0)
		SHOULD_EQUAL(contains(ss, -1), 0)
	END_IT

	IT( "fails when deleting nodes" )
		SHOULD_EQUAL(delete(ss, 0), 0)
		SHOULD_EQUAL(delete(ss, 2), 0)
		SHOULD_EQUAL(delete(ss, 5), 0)
	END_IT
	
	delete_skipset(ss);

END_DESCRIBE

DESCRIBE(SkipListCount, "count")