Array von Strings serialisieren und deserialisieren
Wir haben ein String-Array angegeben und müssen das String-Array serialisieren und den serialisierten String deserialisieren.
Beispiele:
Input : "geeks", "are", "awesome" Output : Serialized String : 5~geeks3~are7~awesome Deserialized String : geeks are awesome Input : "hello", "guys", "whats", "up!!!" Output : Serialized String : 5~hello4~guys5~whats5~up!!! Deserialized String : hello guys whats up!!!
Serialisierung : Scannen Sie jedes Element in einer Zeichenfolge, berechnen Sie seine Länge und hängen Sie es mit einer Zeichenfolge und einem Elementtrennzeichen oder -begrenzer an (dieses Trennzeichen sollte nicht in der Zeichenfolge vorhanden sein). Wir hängen die Länge der Zeichenfolge an, damit wir die Länge jedes Elements kennen.
Deserialisierte Funktion: Finden Sie die Position des Trennzeichens, dann speichern wir es von der Position + 1 bis zur Wortlänge in einem Array als einzelnes Element.
// CPP program to serialize and // deserialize the array of string #include<iostream> using namespace std; // Function to serialized the array of string string serialize(string str[], int ln) { string temp = ""; for (int i=0; i<ln; i++) { int ln = str[i].length(); temp.push_back('0' + ln); temp = temp + "~" + str[i]; } return temp; } // Function to deserialize the string void deserialized(string str, string deserialize[], int ln) { int len, pos=0; string temp = ""; int i = 0; while(pos>-1) { pos = str.find("~", pos+1); if(pos>0) { len = str[pos-1] - 48; temp.append(str, pos+1, len); deserialize[i++] = temp; temp = ""; } } } // Driver function int main() { string str[] = {"geeks", "are", "awesome"}; int ln = sizeof(str)/sizeof(str[0]); string serializedstr = serialize(str, ln); cout << "Serialized String : " << serializedstr <<endl; string deserialize[ln]; deserialized(serializedstr,deserialize,ln); cout << "Deserialized String : "; for(int i=0; i<ln; i++) cout << deserialize[i] << " "; return 0; }
Ausgabe:
Serialized String : 5~geeks3~are7~awesome Deserialized String : geeks are awesome
Referenzen:
1. https://stackoverflow.com/questions/13271503/converting-array-string-to-string-and-back-in-java
2. https://www.careercup.com/question?id=5684077627703296
Dieser Artikel wurde von Rishabh Jain beigesteuert . Wenn Ihnen GeeksforGeeks gefällt und Sie einen Beitrag leisten möchten, können Sie auch einen Artikel über Contribute.geeksforgeeks.org schreiben oder Ihren Artikel per E-Mail an Contribute@geeksforgeeks.org senden. Sehen Sie, wie Ihr Artikel auf der Hauptseite von GeeksforGeeks erscheint, und helfen Sie anderen Geeks.
Falls Sie an Live-Kursen mit Experten teilnehmen möchten , beziehen Sie sich bitte auf DSA Live-Kurse für Berufstätige und Competitive Programming Live for Students .