面试题12
来源:互联网 发布:股票价值分析软件 编辑:程序博客网 时间:2024/06/08 12:40
给出一个数据A={a_0, a_1, a-2, … a_n}(其中n可变),打印出该数值元素的全排列。
例如:A={1,2,3},则所有排列为{123,132,213,231,312,321}。
#include<stdio.h>#include<stdlib.h>void swap(char *s, int a, int b) { char t = s[a]; s[a] = s[b]; s[b] = t;}int is_swap(char *s, int begin,int a) { for (int i = begin; i < a; i++) { if (s[i] == s[a]) return 0; } return 1;}void pailie(char *s, int begin, int end) { if (begin == end) { printf("%s\n", s); } else { for (int i = begin; i <= end; i++) { /*若两个字符相同,可以去除重复的排列*/ if (is_swap(s, begin,i) == 1) { swap(s, begin, i); pailie(s, begin + 1, end); swap(s, begin, i); } } }}int main() { char str[] = "ABBC"; int n = strlen(str); pailie(str, 0, n-1); return 0;}
0 0
- .net面试题12
- 面试题 12
- 面试题12
- java面试题系列12
- 剑指offer面试题12
- 【面试题】剑指offer 12
- 面试题....
- 面试题
- 面试题
- 面试题
- 面试题
- 面试题
- 面试题
- 面试题
- 面试题
- 面试题
- 面试题
- 面试题
- hibernate之实体粒度设计
- hdu 1688 Sightseeing
- @RequestParam @RequestBody @PathVariable
- CodeForces 668C Little Artem and Random Variable(数学)
- Maven项目有工程报错,但是不影响运行
- 面试题12
- 单点登录系统
- Unity5打包assetbundle
- python的各种模块安装及其两个版本一起安装
- Java Web 与 QtQuick
- JDBC的增删改查
- 设计模式——桥接模式
- Mac系统如何编辑hosts文件
- Bitmap的加载和Cache————读书笔记