1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| \documentclass[UTF8]{ctexart} \ExplSyntaxOn \int_new:N \l_t_int \NewDocumentCommand{\sort}{m} {
\intarray_const_from_clist:Nn \l_array_int {#1} \int_step_variable:nNn{\intarray_count:N \l_array_int} \i { \int_step_variable:nNn{\intarray_count:N \l_array_int-\i} \j { \int_compare:nT {\intarray_item:Nn \l_array_int{\j} > \intarray_item:Nn\l_array_int{\j+1}} { \int_set_eq:NN \l_t_int \intarray_item:Nn \l_array_int{\j} \intarray_gset:Nnn \l_array_int {\j}{\intarray_item:Nn \l_array_int{\j+1}} \intarray_gset:Nnn \l_array_int {\j+1}{\l_t_int} } } } 这些整数的由小到大的排序为:\int_step_inline:nn{\intarray_count:N \l_array_int}{\intarray_item:Nn\l_array_int {##1}~} \cs_undefine:N \l_array_int } \ExplSyntaxOff \begin{document} \sort{15,4,12,5,45,5,6,15}\par \sort{12,5,4,5,6,78,100,105}\par \sort{42,0,-3,5,25,68} \end{document}
|