testcol.c

来自「Data Structure Ebook」· C语言 代码 · 共 98 行

C
98
字号
/** 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 + =
减小字号Ctrl + -
显示快捷键?