 哎,你们写的,我一点都不懂
哎,你们写的,我一点都不懂										
					
	
学 会看代码…学习写程序…学会搞开发…我的目标!呵呵是不是说大话啊!!一切皆可能 !
 程序代码:
程序代码:#include <stdio.h>
void Swap(int* p1, int* p2)
{
    int tmp = *p1; *p1 = *p2; *p2 = tmp;
}
void Reverse(int* start, int* end)
{
    while (start < end)
        Swap(start++, --end);
}
void NextPermutation(int* start, int* end)
{
    int* p, *sp = end - 2;
    if (start >= end - 1)
        return;
    if (sp[0] < sp[1]) {
        Swap(sp, sp + 1);
        return;
    }
    while (sp >= start) {
        if (sp[0] < sp[1])
            break;
        --sp;
    }
    if (sp < start)
        Reverse(start, end);
    else {
        for (p = end - 1; p > sp; --p)
            if (*p > *sp) {
                Swap(sp, p);
                break;
            }
        Reverse(sp + 1, end);
    }
}
int main()
{
    int m, n, k, i, array[1024];
    scanf("%d", &m);
    while (m--) {
        scanf("%d%d", &n, &k);
        for (i = 0; i < n; ++i)
            scanf("%d", array + i);
        while (k--)
            NextPermutation(array, array + n);
        printf("%d", array[0]);
        for (i = 1; i < n; ++i)
            printf(" %d", array[i]);
        putchar('\n');
    }
}这个自己测试过没问题,但是提交就Runtime error。找不到那里有问题,而且也查不到出错信息。