void BinarySearchTree::descending(Node *Node) { if(Node == 0) return; descending(Node->getRightNodePtr()); checkForDuplicates(Node); descending(Node->getLeftNodePtr()); }
void BinarySearchTree::displayTree(bool ordering) { if(ordering) { ascending(RootNode); } else { descending(RootNode); } }
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)); }
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; }