void main() { stu *pval=NULL; // 创建“队列” create_dlink_queue(); // 将10, 20, 30 依次推入队列中 int i=0; for (i=0; i<ARR_STU_SIZE-1; i++) { add(&arr_stu[i]); } // 将“队列开头的元素”赋值给tmp,并删除“该元素” pval = (stu*)pop(); print_stu(pval) ; // 只将“队列开头的元素”赋值给tmp,不删除该元素. pval = front(); print_stu(pval) ; add(&arr_stu[ARR_STU_SIZE-1]); printf("is_empty()=%d\n", is_empty()); printf("size()=%d\n", size()); // 打印队列中的所有元素 while (!is_empty()) { pval = pop(); print_stu(pval) ; } // 销毁队列 destroy_dlink_queue(); }
static void draw__(struct node_st *root, int level) { int i; if (root == NULL) { return; } draw__(root->r, level + 1); for (i = 0; i < level; i++) { printf(" "); } print_stu(&root->data); draw__(root->l, level + 1); }