#include #include #include #include struct tree { int x,use; } tt[500]; void inorder(int rr) { if (tt[rr].use != -1) { inorder(2*rr+1); printf("%2d ",tt[rr].x); inorder(2*rr+2); } } void main() { int a[15]={5,2,8,16,9,3,7,66,12,10,8,12,16,9,66},i=0,ff=0,j=0,k,m; while (i<=14) { // total have 15 dataw if (ff == 0) { tt[j].x=a[i]; tt[j].use=1; ff=1; for (k=1; k<=499; k++) tt[k].use=-1; } else { j=k=0; while ((tt[j].use != -1) && (tt[j].x != a[i])) { k=j; if (a[i] > tt[j].x) j=2*j+2; else j=2*j+1; } if ((tt[j].use != -1) && (a[i] == tt[j].x)) { printf("%d is duplicate !!!\n",a[i]); } else { tt[j].x=a[i]; tt[j].use=1; } } i++; } // while printf("inorder traversal -->"); inorder(0); printf("\n"); }