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; }
#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")