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();
}
Exemple #2
0
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);
}