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