0001 /****************************************************************************************** 0002 * Test of Vector 0003 ******************************************************************************************/ 0004 #include "cursor_list.h" 0005 0006 /****************************************************************************************** 0007 * 测试游标式列表 0008 ******************************************************************************************/ 0009 void testCursor ( int testSize ) { 0010 CursorList<char> CL ( testSize ); CL.print(); 0011 //CL.insert('A'); CL.insert('B'); CL.insert('C'); CL.insert('D'); CL.insert('E'); CL.print(); 0012 //CL.remove(CL.find('A')); CL.remove(CL.find('B')); CL.remove(CL.find('C')); CL.remove(CL.find('D')); CL.remove(CL.find('E')); CL.print(); 0013 //CL.insert('A'); CL.insert('B'); CL.insert('C'); CL.insert('D'); CL.insert('E'); CL.print(); 0014 for ( int i = 0; i < testSize ; i++ ) { 0015 char x = 'A' + ( rand() % 26 ); 0016 if ( 30 < ( rand() % 100 ) ) { 0017 printf ( "%c inserted at %d\n", x, CL.insert ( x ) ); 0018 } else { 0019 if ( 0 > CL.find ( x ) ) 0020 printf ( "%c not found\n", x ); 0021 else 0022 printf ( "%c removed at %d\n", x, CL.remove ( CL.find ( x ) ) ); 0023 } 0024 CL.print(); 0025 } 0026 for ( char x = 'A'; x <= 'Z'; x++ ) { 0027 while ( 0 <= CL.find ( x ) ) 0028 printf ( "%c removed at %d\n", x, CL.remove ( CL.find ( x ) ) ); 0029 CL.print(); 0030 } 0031 } 0032 0033 /****************************************************************************************** 0034 * 测试向量 0035 ******************************************************************************************/ 0036 int main ( int argc, char* argv[] ) { 0037 if ( 2 > argc ) { printf ( "Usage: %s <size of test>\a\a\n", argv[0] ); return 1; } 0038 srand ( ( unsigned int ) time ( NULL ) ); //设置随机种子 0039 testCursor ( atoi ( argv[1] ) ); //元素类型可以在这里任意选择 0040 return 0; 0041 }