📄 testcol.c
字号:
/** Test the collection class **/#include <stdio.h>#include "collection.h"int *ItemKey( int *item ) { return item; }void AddAll( collection c, int *list, int n ) { int i; for(i=0;i<n;i++) { AddToCollection( c, &list[i] ); if ( FindInCollection( c, &list[i] ) ) {} else { printf("Add failure item %d, value %d\n", i, list[i] ); } } }void CheckAll( collection c, int *list, int n ) { int i, *ip; for(i=0;i<n;i++) { if ( (ip=FindInCollection( c, &list[i] )) != NULL ) { if ( ip == &list[i] ) {} else { printf("Find mismatch: list[%d] = %d ", i, list[i] ); printf(" @ %d/ %d @ %d\n", &list[i], *ip, ip ); } } else { printf("Find failure item %d, value %d\n", i, list[i] ); } } }void DeleteAll_1( collection c, int *list, int n ) { int i; for(i=0;i<n;i++) { DeleteFromCollection( c, &list[i] ); if ( FindInCollection( c, &list[i] ) ) { printf("Delete failure item %d, value %d\n", i, list[i] ); } } }void DeleteAll_2( collection c, int *list, int n ) { int i; for(i=n-1;i>=0;i--) { DeleteFromCollection( c, &list[i] ); if ( FindInCollection( c, &list[i] ) ) { printf("Delete failure item %d, value %d\n", i, list[i] ); } } }void main() { collection c;int list[] = { 2, 3, 45, 67, 89, 99 };#define N (sizeof(list)/sizeof(int)) c = ConsCollection( 100, sizeof( int ) ); AddAll( c, list, N ); printf("Added %d items\n", N ); CheckAll( c, list, N ); printf("Checked %d items\n", N ); DeleteAll_1( c, list, N ); printf("Deleted all items\n" ); AddAll( c, list, N ); printf("Added %d items\n", N ); DeleteAll_2( c, list, N ); printf("Deleted all items\n" ); }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -