int main() { ARRAYLIST myArrayList = arraylist_init(); myArrayList->Array = malloc(10*sizeof(int)); int j,k,l,m,n; j = 1; k = 2; l = 5; n = 3; m = 4; arraylist_prepend(myArrayList, &j); printArr(myArrayList); arraylist_append(myArrayList, &k); arraylist_append(myArrayList, &l); arraylist_append(myArrayList, &j); arraylist_append(myArrayList, &n); printArr(myArrayList); arraylist_insert(myArrayList, &m, 1);//insert 4 to index 1 printArr(myArrayList); int u = 8; arraylist_set(myArrayList, &u, 3);// set index 3 as 8 printArr(myArrayList); int *a = arraylist_get(myArrayList, 3);//get address of index 3 printf("get %d\n", *a); arraylist_insert(myArrayList, &m, 10);//insert 4 to index of 10 which does not exist printArr(myArrayList); arraylist_insert(myArrayList, &k, 15);//insert 2 to index of 15 which does not exist printArr(myArrayList); arraylist_set(myArrayList, &k, 7);//set index 7 as 2 printArr(myArrayList); arraylist_remove(myArrayList, 1);//remove index of 9 printArr(myArrayList); arraylist_removeall(myArrayList);//remove everything printArr(myArrayList); arraylist_free(myArrayList); return 1; }
int arraylist_add(ArrayList *arraylist, int data) { int i; int key; int *res = bsearch(&key, arraylist->data, arraylist->length, sizeof(int), compmi); if(res == NULL){ return -1; } if(key = arraylist->length){ arraylist_append(arraylist, &data); }else{ arraylist_insert(arraylist, key + 1, &data); } return -1; }
void p2p_add_peers_op(p2p_ctx *ctx,const char* address,int option) { peer_t *peer=NULL; int port=8321; char host[256]; int succ_parsing=0; if(sscanf(address,"%99[^:]:%i[^\n]",host,&port)==2) { succ_parsing=1; } else if(sscanf(address,"%99[^\n]",host)==1) { succ_parsing=1; } else { fprintf(stderr,"%s(%d): failed to get host name\n",__FUNCTION__,__LINE__); } if(succ_parsing==1) { struct hostent *server=NULL; server=gethostbyname(host); assert(ctx!=NULL); assert(address!=NULL); peer=malloc(sizeof(peer_t)); bzero((char*)peer,sizeof(peer_t)); peer->retries=1; peer->status=0; peer->addr.sin_family = AF_INET; peer->addr.sin_addr.s_addr = htonl(INADDR_ANY); bcopy((char *)server->h_addr,(char *)&peer->addr.sin_addr.s_addr, server->h_length); peer->addr.sin_port=htons(port); // if(g.verbose) // printf("adding peer: %s %d\n",host,port); arraylist_append(ctx->peers,peer); } else fprintf(stderr,"Failed to parse peer\n"); }
int seqstack_push(ArrayList *seqstack, ArrayListValue data) { return arraylist_append(seqstack, data); }