设置 | 登录 | 注册

作者共发了1篇帖子。

全排列算法

1楼 巨大八爪鱼 2016-3-13 17:13
#include <stdio.h>

void swap(int *a, int *b)
{
    int t = *a;
    *a = *b;
    *b = t;
}

void fun(int arr[], int n, int k)
{
    int i;
    if (k >= n)
    {
        for (i = 0; i < n; i++)
            printf("%d ", arr[i]);
        putchar('\n');
        return;
    }
    
    for (i = k; i < n; i++)
    {
        swap(&arr[k], &arr[i]);
        fun(arr, n, k + 1);
        swap(&arr[k], &arr[i]);
    }
}

int main()
{
    int arr[] = {1, 2, 3, 4};
    fun(arr, 4, 0);
    return 0;
}

内容转换:

回复帖子
内容:
用户名: 您目前是匿名发表。
验证码:
看不清?换一张
©2010-2025 Purasbar Ver3.0 [手机版] [桌面版]
除非另有声明,本站采用知识共享署名-相同方式共享 3.0 Unported许可协议进行许可。