首页 | 手机版 | 三国演义 | 三国志 | 史将 | 背景 | 藏书阁
首页 -> 精彩文章 -> C语言全排序的算法

C语言全排序的算法

作者拉格浪日 标签编程 阅读次数:531
1 递归法,在dev c上实现
#include
#include
void Swap(char* a, char* b)
{// 交换a和b
  char temp;
  temp = *a;
  *a = *b;
  *b = temp;
}

void Perm(char list[], int k, int m)
{ //生成list [k:m ]的所有排列方式
  int i;
  if (k == m) {//输出一个排列方式
    for (i = 0; i <= m; i++)
      putchar(list[i]);
    putchar('\n');
  }
  else // list[k:m ]有多个排列方式
    // 递归地产生这些排列方式
    for (i=k; i <= m; i++) {
      Swap (&list[k], &list[i]);
      Perm (list, k+1, m);
      Swap (&list [k], &list [i]);
    }
}
int main(int argc, char *argv[])
{
 char s[6]="01234";
 Perm(s,0,4);
 system("PAUSE");
 return 0;
}


浙ICP备06020153号-1