vb .net Permutation der Zeichenfolge. Permutation oder Kombination?

Ich habe eine Saite wie dieseC - F - A - M. Ich möchte eine Kombination daraus mit Bedingung erstellen:

jedes andere Element neben dem letzten Zeichen muss mit dem letzten Zeichen kombiniert werden

Es ist keine gleiche Kombination erlaubt, auch die Reihenfolge ist unterschiedlich. zum Beispiel

FC - M

CF - M

Wenn das String-Array> = 3 Elemente enthält, wird eine 2 & 3-Elementmenge generiert. Wenn 2 Elemente vorhanden sind, wird nur eine 2-Elementmenge generiert

Unten ist mein Code. Mein Code erzeugt das Ergebnis wie der rechte Teil des Bildes

Meine Frage ist, welche Methode soll ich verwenden? ist es Permutation, Kombination oder andere Dinge? und in Pseudocode, wie wäre mein Fall?

Hier ist mein Code

Public Class permute
Dim ItemUsed() As Boolean
Dim pno As Long, pString As String
Dim inChars() As Char = {"c", "f", "a", "m"}

Private Sub permute_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load  
End Sub

Sub Permute(ByVal K As Long)
    ReDim ItemUsed(K)
    pno = 0

    Dim i As Integer
    For i = 2 To K
        Permutate(i, 1)
        tb.Text = K
    Next
End Sub

Private Sub Permutate(ByVal K As Long, ByVal pLevel As Long)
    Dim i As Long, Perm As String
    Perm = pString

    For i = 0 To K - 1
        If Not ItemUsed(i) Then
            If pLevel = 1 Then
                pString = inChars(i)
            Else
                pString += inChars(i)
            End If
            If pLevel = K Then
                pno = pno + 1
                Results.Text += _
                pno & " " & " = " & " " & pString & vbCrLf
                Exit Sub
            End If

            ItemUsed(i) = True
            Permutate(K, pLevel + 1)
            ItemUsed(i) = False
            pString = Perm
        End If
    Next
End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    Permute(tb.Text)
End Sub

Private Sub tb_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tb.TextChanged
    If tb.Text = "" Then
        Results.Text = ""
    Else
        Permute(tb.Text)
    End If
End Sub
End Class

Hier ist der Screenshot mit den Anforderungen

und hier ist der Screenshot des Programms

Antworten auf die Frage(2)

Ihre Antwort auf die Frage