הסרת רווחים ממחרוזת באמצעות Stringstream
פתרון להסרת רווחים ממחרוזת כבר פורסם כָּאן . במאמר זה פתרון נוסף באמצעות stringstream נדון.
אַלגוֹרִיתְם:
1. Enter the whole string into stringstream. 2. Empty the string. 3. Extract word by word and concatenate to the string.
תוכנית 1: באמצעות EOF .
CPP // C++ program to remove spaces using stringstream #include using namespace std ; // Function to remove spaces string removeSpaces ( string str ) { stringstream ss ; string temp ; // Storing the whole string // into string stream ss < < str ; // Making the string empty str = '' ; // Running loop till end of stream while ( ! ss . eof ()) { // Extracting word by word from stream ss >> temp ; // Concatenating in the string to be // returned str = str + temp ; } return str ; } // Driver function int main () { // Sample Inputs string s = 'This is a test' ; cout < < removeSpaces ( s ) < < endl ; s = 'geeks for geeks' ; cout < < removeSpaces ( s ) < < endl ; s = 'geeks quiz is awesome!' ; cout < < removeSpaces ( s ) < < endl ; s = 'I love to code' ; cout < < removeSpaces ( s ) < < endl ; return 0 ; }
תְפוּקָה
Thisisatest geeksforgeeks geeksquizisawesome! Ilovetocode
מורכבות הזמן: O(n) כאשר n הוא אורך המחרוזת
חלל עזר: עַל)
תוכנית 2: באמצעות getline() .
CPP // C++ program to remove spaces using stringstream // and getline() #include using namespace std ; // Function to remove spaces string removeSpaces ( string str ) { // Storing the whole string // into string stream stringstream ss ( str ); string temp ; // Making the string empty str = '' ; // Running loop till end of stream // and getting every word while ( getline ( ss temp ' ' )) { // Concatenating in the string // to be returned str = str + temp ; } return str ; } // Driver function int main () { // Sample Inputs string s = 'This is a test' ; cout < < removeSpaces ( s ) < < endl ; s = 'geeks for geeks' ; cout < < removeSpaces ( s ) < < endl ; s = 'geeks quiz is awesome!' ; cout < < removeSpaces ( s ) < < endl ; s = 'I love to code' ; cout < < removeSpaces ( s ) < < endl ; return 0 ; } // Code contributed by saychakr13
תְפוּקָה
Thisisatest geeksforgeeks geeksquizisawesome! Ilovetocode
מורכבות זמן: O(n)
רווח עזר: O(n)