重复元素全排列

来源:互联网 发布:centos下lamp环境搭建 编辑:程序博客网 时间:2024/05/01 08:42
#include <stdio.h>int data[4] = {1, 1, 2, 2};/*数据互换*/void swap(int data[], int index, int i) {int temp = data[index];data[index] = data[i];data[i] = temp;}/*是否已有*/int isEquals(int data[], int index, int i) {int j;for (j = index; j < i; j++) {if (data[j] == data[i]) return 1;}return 0;}/*递归求解,逐个打头*/void fullArray(int data[], int index, int tail) {if (index == tail) {int i;for (i = 0; i <= tail; i++) {printf("%d", data[i]);}printf("\n");} else {int i;for (i = index; i <= tail; i++) {if (!isEquals(data, index, i)) {swap(data, index, i);fullArray(data, index+1, tail);swap(data, index, i);}}}}int main() {fullArray(data, 0, 3);return 0;}

0 0
原创粉丝点击