Java Program to Generate All Possible Combinations of a Given List of Numbers

This is a java program to generate and print all the permutation of the Numbers. User first enters the element in the set and then actual elements. The notion of permutation relates to the act of permuting, or rearranging, members of a set into a particular sequence or order (unlike combinations, which are selections that disregard order). For example, there are six permutations of the set {1,2,3}, namely (1,2,3), (1,3,2), (2,1,3), (2,3,1), (3,1,2), and (3,2,1).

Here is the source code of the Java Program to Generate All Possible Combinations of a Given List of Numbers. The Java program is successfully compiled and run on a Windows system. The program output is also shown below.

//This is a java program to perform all permutation of given list of numbers of a specific length
import java.util.Random;
import java.util.Scanner;
 
public class Permute_All_List_Numbers 
{
    static void permute(int[] a, int k) 
    {
        if (k == a.length) 
        {
            for (int i = 0; i < a.length; i++) 
            {
                System.out.print(" [" + a[i] + "] ");
            }
            System.out.println();
        } 
        else 
        {
            for (int i = k; i < a.length; i++) 
            {
                int temp = a[k];
                a[k] = a[i];
                a[i] = temp;
 
                permute(a, k + 1);
 
                temp = a[k];
                a[k] = a[i];
                a[i] = temp;
            }
        }
    }
 
    public static void main(String args[]) 
    {
        Random random = new Random();
        Scanner sc = new Scanner(System.in);
        System.out.println("Enter the length of list: ");
        int N = sc.nextInt();
        int[] sequence = new int[N];
 
        for (int i = 0; i < N; i++)
            sequence[i] = Math.abs(random.nextInt(100));
 
        System.out.println("The original sequence is: ");
        for (int i = 0; i < N; i++)
            System.out.print(sequence[i] + " ");
 
        System.out.println("\nThe permuted sequences are: ");
        permute(sequence, 0);
 
        sc.close();
    }
}

Output:

$ java Permute_All_List_Numbers.java
$ java Permute_All_List_Numbers
 
Enter the length of list: 
3
The original sequence is: 
15 61 16 
The permuted sequences are: 
 [15]  [61]  [16] 
 [15]  [16]  [61] 
 [61]  [15]  [16] 
 [61]  [16]  [15] 
 [16]  [61]  [15] 
 [16]  [15]  [61] 
 
 
Enter the length of list: 
4
The original sequence is: 
50 98 4 61 
The permuted sequences are: 
 [50]  [98]  [4]  [61] 
 [50]  [98]  [61]  [4] 
 [50]  [4]  [98]  [61] 
 [50]  [4]  [61]  [98] 
 [50]  [61]  [4]  [98] 
 [50]  [61]  [98]  [4] 
 [98]  [50]  [4]  [61] 
 [98]  [50]  [61]  [4] 
 [98]  [4]  [50]  [61] 
 [98]  [4]  [61]  [50] 
 [98]  [61]  [4]  [50] 
 [98]  [61]  [50]  [4] 
 [4]  [98]  [50]  [61] 
 [4]  [98]  [61]  [50] 
 [4]  [50]  [98]  [61] 
 [4]  [50]  [61]  [98] 
 [4]  [61]  [50]  [98] 
 [4]  [61]  [98]  [50] 
 [61]  [98]  [4]  [50] 
 [61]  [98]  [50]  [4] 
 [61]  [4]  [98]  [50] 
 [61]  [4]  [50]  [98] 
 [61]  [50]  [4]  [98] 
 [61]  [50]  [98]  [4]

Related posts:

Kết hợp Java Reflection và Java Annotations
Hướng dẫn Java Design Pattern – Dependency Injection
Java Program to Implement ArrayDeque API
A Guide to WatchService in Java NIO2
Java – Write an InputStream to a File
Java Program to Represent Graph Using Incidence List
Java 8 Stream findFirst() vs. findAny()
Java equals() and hashCode() Contracts
Chuyển đổi giữa các kiểu dữ liệu trong Java
Java Program to Implement Adjacency Matrix
Loại bỏ các phần tử trùng trong một ArrayList như thế nào trong Java 8?
Model, ModelMap, and ModelAndView in Spring MVC
Case-Insensitive String Matching in Java
Phương thức forEach() trong java 8
Java Program to Find Second Smallest of n Elements with Given Complexity Constraint
Introduction to Spring Data MongoDB
Chuyển đổi từ HashMap sang ArrayList
Introduction to Spring Method Security
Guide to Java 8 groupingBy Collector
Java Program to Implement LinkedList API
Làm thế nào tạo instance của một class mà không gọi từ khóa new?
Java Program for Douglas-Peucker Algorithm Implementation
Java Program to Construct an Expression Tree for an Infix Expression
Java Program to Implement Heap’s Algorithm for Permutation of N Numbers
Java Program to Implement Quick Hull Algorithm to Find Convex Hull
Xử lý ngoại lệ trong Java (Exception Handling)
Java Program to Implement LinkedBlockingDeque API
Adding Parameters to HttpClient Requests
Java Program to Implement Dijkstra’s Algorithm using Priority Queue
Difference Between Wait and Sleep in Java
Giới thiệu Json Web Token (JWT)
Java Program to Implement Maximum Length Chain of Pairs