刘汝佳在算法竞赛入门经典,http://book.douban.com/subject…,的 118 页提到生成一个可重集的全排列问题,跟上次的 生成一个字符串的全排列 很相像,但是写法却巧妙很多
#include <stdio.h>
void quick_sort(int a[], int left, int right)
{
int i=left, j=right;
int povit = a[(i+j)/2];…… 阅读全文
生成可重集的排列
Reply
刘汝佳在算法竞赛入门经典,http://book.douban.com/subject…,的 118 页提到生成一个可重集的全排列问题,跟上次的 生成一个字符串的全排列 很相像,但是写法却巧妙很多
#include <stdio.h>
void quick_sort(int a[], int left, int right)
{
int i=left, j=right;
int povit = a[(i+j)/2];…… 阅读全文
今天看到一个简单枚举的题目
除法
输入正整数n,按从小到大的顺序输出所有形如abcde/fghij=n的表达式,其中a~j恰好为数字0~9的一个排列,2 阅读全文
今天看到 http://blog.csdn.net/morewindo… 这里提出了一个问题
用C++写一个函数, 如 Foo(const char *str), 打印出 str 的全排列,
如 abc 的全排列: abc, acb, bca, dac, cab, cba
想了想(想了好久啊,好久没有碰数据结构和算法了),觉得可以 dfs,这样来搞:
#include <stdio.h>
#include <stdlib.…… 阅读全文