#include #include #include "topdownRB.h" int main() { int cmd,key,rank; Item pt; STinit(); while (1) { scanf("%d",&cmd); switch (cmd) { case (0): printf("0: exit\n"); exit(0); case (1): scanf("%d",&key); pt=STsearch(key); if (pt==NULLitem) { STinsert(key); printf("1: %d successfully inserted\n",key); } else printf("1: %d duplicate key\n",key); break; case (2): scanf("%d",&key); printf("2: %d ",key); rank=STinvSelect(key); if (rank==(-1)) printf("bad key\n"); else printf("rank %d\n",rank); break; case (3): scanf("%d",&rank); printf("3: %d ",rank); pt=STselect(rank); if (pt==NULLitem) printf("bad rank\n"); else printf("key %d\n",pt); break; case (4): verifyRBproperties(); printf("4: clean\n"); break; } } }