Bài này sưu tầm từ congdongCViet có chức năng liệt kê hoán vị của n phần tử.
[codes=c]#include
#include
#define MAX 10
int mang[MAX], n;
void swap (int *x, int *y)
{
int tmp;
tmp = *x;
*x = *y;
*y = tmp;
}
void hoanvi(int k)
{
int j;
if (k==1)
{
printf(“\n”);
for (j=0; j
}
else
for (j=k-1; j>=0; j–)
{
swap(&mang[k-1], &mang[j]);
hoanvi(k-1);
swap(&mang[j], &mang[k-1]);
}
}
void main()
{
int i;
printf(“\nCho biet so phan tu (N < 10) : ");
scanf(“%d”, &n);
for (i=0; i
hoanvi(n);
getch();
}[/codes]
Last modified on December 9th, 2020 at 1:42 am
Nam Le
lequocnam
0 responds