Mercurial > hg > Members > kent > CbCTaskManager
view test/list/testiter.c @ 2:803d6bf22e6d default tip
second commit.
it's far to complete..
author | kent <kent@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Tue, 22 Dec 2009 16:19:56 +0900 |
parents | |
children |
line wrap: on
line source
#include<stdio.h> #include<stdlib.h> #include<string.h> #include<assert.h> #include"List.h" void printList(List *list); int test0(); int _listRingCheck(List *head); int main(int argc, char **argv) { test0(); return 0; } int test0() { char *data = "abcdefghijklmnopqrstuvwxyz"; List *list=NULL; ListIter *iter=NULL; int i; char input; for (i=0; data[i]!='\0'; i++) { list = _listAddFirst(list, (void*)data[i]); } printList(list); assert(_listRingCheck(list)); iter = _listIterator(list); while ((data=_listIterNext(iter))!=NULL) { int c=(int)data; printf("%c ", c); } _listIterEnd(iter); printf("\n"); i=0; iter = _listIterator(list); while ((data=_listIterNext(iter))!=NULL) { if (i%2==1) { list = _listIterRemoveCurrent(iter); } i++; } _listIterEnd(iter); printf("\n"); assert(_listRingCheck(list)); iter = _listIterator(list); while ((data=_listIterNext(iter))!=NULL) { int c=(int)data; printf("%c ", c); } _listIterEnd(iter); printf("\n"); return 0; } int printOne(void *data,void *arg) { char c = (char)data; printf("%c ", c); return 1; } void printList(List *list) { _listApply(list, printOne, NULL); printf("\n"); }