diff options
author | cathook <cat.hook31894@gmail.com> | 2013-11-26 02:23:20 +0800 |
---|---|---|
committer | cathook <cat.hook31894@gmail.com> | 2013-11-26 02:41:11 +0800 |
commit | 361fe35e9ed50c4022e7b46ea4e91bbfec58f454 (patch) | |
tree | db9b0c670eee60edb94edc77744f4f41cfd68bd3 /example.c | |
parent | 4ddbfd389502cb58c2ff06b0895c058e01f8b022 (diff) | |
download | ctl-361fe35e9ed50c4022e7b46ea4e91bbfec58f454.tar.gz ctl-361fe35e9ed50c4022e7b46ea4e91bbfec58f454.tar.zst ctl-361fe35e9ed50c4022e7b46ea4e91bbfec58f454.zip |
update gitignore
Diffstat (limited to 'example.c')
-rw-r--r-- | example.c | 99 |
1 files changed, 99 insertions, 0 deletions
diff --git a/example.c b/example.c new file mode 100644 index 0000000..3f25aa8 --- /dev/null +++ b/example.c @@ -0,0 +1,99 @@ +#include "vector.h" + +#include <stdio.h> + +enum TestID{ + TEST_UTILITY, + TEST_VECTOR, + END +} test_id; + +const char *test_name[2] = { + "utility", + "vector" +}; + +void printVector(const char *s, int *k){ + int count = ctl_vector_getSize(&k); + int size = ctl_vector_getEntrySize(&k); + printf("vecotr %s: (count = %d, size = %d)\n", s, count, size); + int i; + for(i = 0; i < count; i++) + printf(" [%d] = %d\n", i, k[i]); + printf("\n"); +} + +int main(){ + while(1){ + printf("Which object do you want to test?\n"); + for(test_id = 0; test_id < END; test_id++){ + printf(" %d) %s\n", test_id, test_name[test_id]); + } + printf("Input (-1 to exit): "); + int k; + scanf("%d", &k); + if(k < 0 || k >= END) + return 0; + test_id = k; + switch(test_id){ + case TEST_UTILITY: + + break; + case TEST_VECTOR: + { + int *v1, *v2, a, b; + v1 = ctl_vector_init(&v1, sizeof(int), 5); + v2 = ctl_vector_init(&v2, sizeof(int), 6); + printVector("v1", v1); + printVector("v2", v2); + + a = 3, ctl_vector_setSize(&v1, a); printf("let count of v1 = %d\n", a); + a = 0, b = 2; v1[a] = b; printf("let v1[%d] = %d\n", a, b); + a = 1, b = 3; v1[a] = b; printf("let v1[%d] = %d\n", a, b); + a = 2, b = 4; v1[a] = b; printf("let v1[%d] = %d\n", a, b); + a = 8, ctl_vector_setSize(&v1, a); printf("let count of v1 = %d\n", a); + a = 3, b = 5; v1[a] = b; printf("let v1[%d] = %d\n", a, b); + a = 4, b = 6; v1[a] = b; printf("let v1[%d] = %d\n", a, b); + a = 5, b = 9; v1[a] = b; printf("let v1[%d] = %d\n", a, b); + a = 6, b = 2; v1[a] = b; printf("let v1[%d] = %d\n", a, b); + a = 7, b = 1; v1[a] = b; printf("let v1[%d] = %d\n", a, b); + a = 1, b = 8; v1[a] = b; printf("let v1[%d] = %d\n", a, b); + ctl_vector_delBack(&v1); printf("delBack(&v1)\n"); + ctl_vector_delBack(&v1); printf("delBack(&v1)\n"); + a = 5, ctl_vector_addBack(&v1, &a); printf("addBack(&v1, %d)\n", a); + + a = 0, b = 0; v2[a] = b; printf("let v2[%d] = %d\n", a, b); + a = 1, b = 1; v2[a] = b; printf("let v2[%d] = %d\n", a, b); + a = 2, b = 2; v2[a] = b; printf("let v2[%d] = %d\n", a, b); + a = 3, b = 3; v2[a] = b; printf("let v2[%d] = %d\n", a, b); + a = 4, b = 4; v2[a] = b; printf("let v2[%d] = %d\n", a, b); + a = 5, b = 5; v2[a] = b; printf("let v2[%d] = %d\n", a, b); + + printVector("v1", v1); + printVector("v2", v2); + ctl_vector_cat(&v2, &v1); + printf("cat(&v2, &v1)\n"); + printVector("v1", v1); + printVector("v2", v2); + ctl_vector_copy(&v2, &v1); + printf("copy(&v2, &v1)\n"); + printVector("v1", v1); + printVector("v2", v2); + ctl_vector_replace(&v1, 0, 0, &v2, 2, 3); + printf("replace(&v1, 0, 0, &v2, 2, 3)\n"); + printVector("v1", v1); + ctl_vector_replace(&v1, 3, 0, &v2, 2, -3); + printf("replace(&v1, 3, 0, &v2, 2, -3)\n"); + printVector("v1", v1); + ctl_vector_replace(&v1, 0, 10, &v2, 3, -1); + printf("replace(&v1, 0, 10, &v2, 3, -1)\n"); + printVector("v1", v1); + + } + break; + default: + printf("Sorry, this part has not completed...\n"); + } + } + return 0; +} |