숫자 1에서 숫자 n까지의 전체 배열 실현 (연속 숫자)

1457 단어
#include 
#include
const  int max=1100;
int n,p[max],hashTable[max]={false};//hashTable 
// ;
void func(int index){
    int i;
    if(index==n+1){
        for(i=1;i<=n;i++)
        printf("%d",p[i]);
    printf("
"); } for(i=1;i<=n;i++){ if(hashTable[i]==false){ p[index]=i; hashTable[i]=true; func(index+1); } } hashTable[i]=false; } int main() { scanf("%d",&n); func(1); return 0; }

Java
import java.util.Scanner;

public class Demo {
    public void Perm(int list[], int k, int m) {
        if (k == m) {
            for (int i = 0; i <= m; i++)
                System.out.print(list[i]);
            System.out.println();
        } else {
            for (int i = k; i <= m; i++) {
                //  
                Swap(list, k, i);
                Perm(list, k + 1, m);
                //  
                Swap(list, k, i);
            }
        }
        
    }
    public void Swap(int[] list, int i, int j) {
        int t = list[i];
        list[i] = list[j];
        list[j] = t;
    }
    public static void main(String[] args) {
        Demo d = new Demo();
        Scanner input=new Scanner(System.in);
        int n=input.nextInt();
        int[] arr =new int [n];
        for(int i=0;i

좋은 웹페이지 즐겨찾기