Пример #1
0
void BinarySearchTree::descending(Node *Node) {
    if(Node == 0) 
        return;
    descending(Node->getRightNodePtr());
    checkForDuplicates(Node);
    descending(Node->getLeftNodePtr());
}
Пример #2
0
void BinarySearchTree::displayTree(bool ordering) {
    if(ordering) {
        ascending(RootNode);
    } else {
        descending(RootNode);
    }
}
Пример #3
0
int			check_asc(t_list *lst)
{
	if (!lst)
		return (0);
	else if (!lst->next)
		return (1);
	if (((t_pile*)(lst->content))->val > ((t_pile*)(lst->next->content))->val)
		return (ascending(lst));
	else
		return (descending(lst));
}
Пример #4
0
int main()
{
	int score[10] = { 67,98,75,63,82,79,81,91,66,84 };
	sum(score);
	highest(score);
	lowest(score);
	average(score);
	printf("总分:%d\n", sum(score));
	printf("最高分:%d\n", highest(score));
	printf("最低分:%d\n", lowest(score));
	printf("平均分:%.1f\n", average(score));
	descending(score);
	getchar();
    return 0;
}
bool ParserOrderByElement::parseImpl(Pos & pos, Pos end, ASTPtr & node, Pos & max_parsed_pos, Expected & expected)
{
	Pos begin = pos;

	ParserWhiteSpaceOrComments ws;
	ParserExpressionWithOptionalAlias elem_p(false);
	ParserString ascending("ASCENDING", true, true);
	ParserString descending("DESCENDING", true, true);
	ParserString asc("ASC", true, true);
	ParserString desc("DESC", true, true);
	ParserString collate("COLLATE", true, true);
	ParserStringLiteral collate_locale_parser;

	ASTPtr expr_elem;
	if (!elem_p.parse(pos, end, expr_elem, max_parsed_pos, expected))
		return false;

	int direction = 1;
	ws.ignore(pos, end);

	if (descending.ignore(pos, end) || desc.ignore(pos, end))
		direction = -1;
	else
		ascending.ignore(pos, end) || asc.ignore(pos, end);

	ws.ignore(pos, end);

	std::shared_ptr<Collator> collator;
	if (collate.ignore(pos, end))
	{
		ws.ignore(pos, end);

		ASTPtr locale_node;
		if (!collate_locale_parser.parse(pos, end, locale_node, max_parsed_pos, expected))
			return false;

		const String & locale = typeid_cast<const ASTLiteral &>(*locale_node).value.safeGet<String>();
		collator = std::make_shared<Collator>(locale);
	}

	node = std::make_shared<ASTOrderByElement>(StringRange(begin, pos), direction, collator);
	node->children.push_back(expr_elem);
	return true;
}