void printOperatorExpression(Expr* expr, uintmax_t numIndent) { if (expr == NULL) { inprint("null", numIndent); return; } switch (expr->op_type) { case Expr::SIMPLE_OP: inprintC(expr->op_char, numIndent); break; case Expr::AND: inprint("AND", numIndent); break; case Expr::OR: inprint("OR", numIndent); break; case Expr::NOT: inprint("NOT", numIndent); break; default: inprintU(expr->op_type, numIndent); break; } printExpression(expr->expr, numIndent+1); if (expr->expr2 != NULL) printExpression(expr->expr2, numIndent+1); }
void printSelectStatementInfo(SelectStatement* stmt, uintmax_t numIndent) { inprint("SelectStatement", numIndent); inprint("Fields:", numIndent+1); for (Expr* expr : *stmt->selectList) printExpression(expr, numIndent+2); inprint("Sources:", numIndent+1); printTableRefInfo(stmt->fromTable, numIndent+2); if (stmt->whereClause != NULL) { inprint("Search Conditions:", numIndent+1); printExpression(stmt->whereClause, numIndent+2); } if (stmt->unionSelect != NULL) { inprint("Union:", numIndent+1); printSelectStatementInfo(stmt->unionSelect, numIndent+2); } if (stmt->order != NULL) { inprint("OrderBy:", numIndent+1); printExpression(stmt->order->expr, numIndent+2); if (stmt->order->type == kOrderAsc) inprint("ascending", numIndent+2); else inprint("descending", numIndent+2); } if (stmt->limit != NULL) { inprint("Limit:", numIndent+1); inprint(stmt->limit->limit, numIndent+2); } }
void printExpression(Expr* expr, uintmax_t numIndent) { switch (expr->type) { case kExprStar: inprint("*", numIndent); break; case kExprColumnRef: inprint(expr->name, numIndent); break; // case kExprTableColumnRef: inprint(expr->table, expr->name, numIndent); break; case kExprLiteralFloat: inprint(expr->fval, numIndent); break; case kExprLiteralInt: inprint(expr->ival, numIndent); break; case kExprLiteralString: inprint(expr->name, numIndent); break; case kExprFunctionRef: inprint(expr->name, numIndent); inprint(expr->expr->name, numIndent+1); break; case kExprOperator: printOperatorExpression(expr, numIndent); break; default: fprintf(stderr, "Unrecognized expression type %d\n", expr->type); return; } if (expr->alias != NULL) { inprint("Alias", numIndent+1); inprint(expr->alias, numIndent+2); } }
void inprint(node *tree,int print[]) { if(tree!=NULL) { inprint(tree->left,print); print[hh]=tree->data; hh++; // printf("%d ",tree->data); inprint(tree->right,print); } return; }
void inprint(struct BT *root) { if(root) { inprint(root->l); printf("[%d]\t",root->data); inprint(root->r); } }
main() { int pre[]={3,5,2,6,7,1,4}; int in[]={1,2,3,4,5,6,7}; struct BT *rt; int n=sizeof(pre)/sizeof(pre[0]); printf("%d",n); rt=built(in,pre,0,n-1); printf("\n\n"); inprint(rt); printf("\n\n"); preprint(rt); printf("\n\n"); //struct BT *rt1=builtBT(pre,in,0,n-1); //inprint(rt1); //printf("\n\n"); //preprint(rt1); //printf("\n\n"); }
//void del(node *tree,int num); int main() { int test,c=0; //scanf("%d",&test); int n,z=0,numb; node *tree; tree=NULL; scanf("%d",&n); int print[n]; int a[n+1],b[n+1]; while(z<n) { scanf("%d",&b[z]); z++; } z=0; while(z<n) { scanf("%d",&a[z]); z++; } x=n; tree=insert(tree,0,n-1,0,n-1,b,a); scanf("%d",&numb); while(tree->data!=numb) { tree=rotate(tree,numb); } inprint(tree,print); for(z=0;z<hh-1;z++) {printf("%d ",print[z]); } printf("%d\n",print[hh-1]); hh=0; preprint(tree,print); for(z=0;z<hh-1;z++) {printf("%d ",print[z]); } printf("%d\n",print[hh-1]); hh=0; postprint(tree,print); for(z=0;z<hh-1;z++) {printf("%d ",print[z]); } printf("%d\n",print[hh-1]); hh=0; /*for(i=0;i<j;i++) { printf("%d\n",a[i]); printf("%d\n",b[i]); }*/ return 0; }
void printTableRefInfo(TableRef* table, uintmax_t numIndent) { switch (table->type) { case kTableName: inprint(table->name, numIndent); break; case kTableSelect: printSelectStatementInfo(table->select, numIndent); break; case kTableJoin: inprint("Join Table", numIndent); inprint("Left", numIndent+1); printTableRefInfo(table->join->left, numIndent+2); inprint("Right", numIndent+1); printTableRefInfo(table->join->right, numIndent+2); inprint("Join Condition", numIndent+1); printExpression(table->join->condition, numIndent+2); break; case kTableCrossProduct: for (TableRef* tbl : *table->list) printTableRefInfo(tbl, numIndent); break; } if (table->alias != NULL) { inprint("Alias", numIndent+1); inprint(table->alias, numIndent+2); } }
int main( int argc, char* args[] ) { SDL_Surface *screen; Uint32 width = 640; Uint32 height = 480; Uint32 bpp = 32; Uint32 flags = SDL_HWSURFACE; int i; for (i = 1; i < argc; i++) if (!strcasecmp("--fullscreen", args[i])) flags |= SDL_FULLSCREEN; if (SDL_Init(SDL_INIT_VIDEO) < 0) { fprintf(stderr, "Video initialization failed: %s\n", SDL_GetError()); exit(-1); } if ((screen = SDL_SetVideoMode(width, height, bpp, flags)) == 0) { fprintf(stderr, "Video mode set failed: %s\n", SDL_GetError()); exit(-1); } SDL_FillRect(screen, NULL, 0x333333); prepare_inline_font(); /* infont(SDL_LoadBMP("fonts/oddball6x8.bmp")); */ incolor(0xFF0000, 0x333333); inprint(screen, "Hello World!", 10, 10); incolor(0x000000, 0xFFFFFF); inprint(screen, "A QUICK BROWN FOX JUMPS OVER A LAZY DOG!", 10, 30); inprint(screen, "a quick brown fox jumps over a lazy dog?", 10, 60); inprint(screen, "`'.,:;0123456789{}()[]|\\/-+*=!@#$%^&", 10, 90); /* Wait for a while */ for (i = 1000; i > 20; i--) { SDL_Flip(screen); SDL_Delay(10); } kill_inline_font(); SDL_Quit(); return 0; }
void printInsertStatementInfo(InsertStatement* stmt, uintmax_t numIndent) { inprint("InsertStatment", numIndent); inprint(stmt->tableName, numIndent+1); if (stmt->columns != NULL) { inprint("Columns", numIndent+1); for (char* col_name : *stmt->columns) { inprint(col_name, numIndent+2); } } switch (stmt->type) { case InsertStatement::kInsertValues: inprint("Values", numIndent+1); for (Expr* expr : *stmt->values) { printExpression(expr, numIndent+2); } break; case InsertStatement::kInsertSelect: printSelectStatementInfo(stmt->select, numIndent+1); break; } }
void printCreateStatementInfo(CreateStatement* stmt, uintmax_t numIndent) { inprint("CreateStatment", numIndent); inprint(stmt->tableName, numIndent+1); inprint(stmt->filePath, numIndent+1); }
void printCreateStatementInfo(CreateStatement* stmt, uint num_indent) { inprint("CreateStatment", num_indent); inprint(stmt->table_name, num_indent+1); inprint(stmt->file_path, num_indent+1); }
void printImportStatementInfo(ImportStatement* stmt, uint num_indent) { inprint("ImportStatment", num_indent); inprint(stmt->file_path, num_indent+1); inprint(stmt->table_name, num_indent+1); }