#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; }
|