C++ 三位数排序算法 (不使用 vector):多宇宙数字命名与排序
#include\x20
struct\x20Number\x20{ \x20\x20int\x20value; \x20\x20std::string\x20name; };
bool\x20compareNumbers(const\x20Number&\x20a,\x20const\x20Number&\x20b)\x20{ \x20\x20int\x20aOnes\x20=\x20a.value\x20%\x2010; \x20\x20int\x20aHundreds\x20=\x20a.value\x20/\x20100; \x20\x20int\x20bOnes\x20=\x20b.value\x20%\x2010; \x20\x20int\x20bHundreds\x20=\x20b.value\x20/\x20100; \x20\x20 \x20\x20if\x20(aOnes\x20!=\x20bOnes)\x20{ \x20\x20\x20\x20return\x20aOnes\x20>\x20bOnes; \x20\x20}else\x20if\x20(aHundreds\x20!=\x20bHundreds)\x20{ \x20\x20\x20\x20return\x20aHundreds\x20>\x20bHundreds; \x20\x20}else\x20{ \x20\x20\x20\x20return\x20a.name\x20<\x20b.name; \x20\x20} }
int\x20main()\x20{ \x20\x20int\x20n; \x20\x20std::cin\x20>>\x20n; \x20\x20 \x20\x20Number*\x20numbers\x20=\x20new\x20Number[n]; \x20\x20 \x20\x20for\x20(int\x20i\x20=\x200;\x20i\x20<\x20n;\x20i++)\x20{ \x20\x20\x20\x20std::cin\x20>>\x20numbers[i].value\x20>>\x20numbers[i].name; \x20\x20} \x20\x20 \x20\x20std::sort(numbers,\x20numbers\x20+\x20n,\x20compareNumbers); \x20\x20 \x20\x20for\x20(int\x20i\x20=\x200;\x20i\x20<\x20n;\x20i++)\x20{ \x20\x20\x20\x20std::cout\x20<<\x20numbers[i].name\x20<<\x20std::endl; \x20\x20} \x20\x20 \x20\x20delete[]\x20numbers; \x20\x20 \x20\x20return\x200; }
原文地址: https://www.cveoy.top/t/topic/pIvw 著作权归作者所有。请勿转载和采集!