rekursive string-reverse Funktion

schreiben Sie eine rekursive string-reverse Funktion aus Neugier, aber mit ein bisschen problem mit XOR gibt. Der ganze Sinn dieser Funktion ist nicht zu verwenden, iterator, der ist, warum es ist eine rekursive Funktion. dies ist keine Hausaufgabe, nur Neugier.

    private static char[] ReverseNL(char[] arr, int index)
    {
        var len = arr.Length;
        if (index > 0)
            arr[len - index] ^= arr[index - 1];
        return index-- < 1 ? arr : ReverseNL(arr, index);
    }

scheint es jamble der erste Teil von meinem string

"hey there stack!" wird zu "ich♫→A ←E↨reht yeh"

ist es immer die erste Hälfte von dem Satz, der bekommt wirre...

UPDATE..

ich nehme an, XOR war auch nicht wirklich nötig hier.. so verwendet grundauftrag, auch losgeworden zurück.

    private static void ReverseNL(char[] arr, int index) {
        var len = arr.Length;
        if (index > 0 && index > len / 2) {
            var c = arr[len - index];
            arr[len - index] = arr[index - 1];
            arr[index - 1] = c;
            index--;
            ReverseNL(arr, index);
        }
    }
  • Wie alt sind Sie?
  • Offensichtlich alt genug, um zu werfen in einen Verweis auf eine Klasse South Park Lied in einer Frage (ob es angemessen ist oder nicht, ist eine andere Frage).
  • Ich empfehle die änderung der Zeichenfolge, um ein standard-Satz, wie: "Der schnelle braune Fuchs springt über den faulen Hund"
  • Ich denke, Sie wollen führen Sie eine swap, und Sie versuchen zu tun, ein XOR-swap (die scheitert, weil Sie haben den Algorithmus falsch). Verwenden Sie einfach ein simple-swap; XOR swap wird auf jeden Fall zu Verwirrung führen, für diejenigen, die nicht vollständig verstehen, wie es funktioniert.
  • Oder vielleicht ein Palindrom, wie "aibohphobia"?
  • Wissen Sie, was der XOR-operator nicht? Es sieht aus wie Sie denken, es zu tauschen charachters, das ist, was es tut: 10110110 XOR-00011100 wird: 10101010 So, warum bekommen Sie mumbo jumbo
  • Hoffa: Blick auf den Schwanz von dem Ergebnis... Es funktioniert zum Teil.
  • Sonic, was war der Kern der Frage? Tut es rekursiv? Sie tun es mit Xor? Oder einfach umkehren, mit welchen Mitteln?
  • yah, wie ich später merkte, ich war dabei XOR nur einen Weg. ich versuchte wirklich zu tun swaps in beide Richtungen vor dem posting hier, aber es schien nicht zu funktionieren. ich frisiert, etwas auf 🙂

InformationsquelleAutor Sonic Soul | 2010-08-06
Schreibe einen Kommentar