Categories:
.NET (357)
C (330)
C++ (183)
CSS (84)
DBA (2)
General (7)
HTML (4)
Java (574)
JavaScript (106)
JSP (66)
Oracle (114)
Perl (46)
Perl (1)
PHP (1)
PL/SQL (1)
RSS (51)
Software QA (13)
SQL Server (1)
Windows (1)
XHTML (173)
Other Resources:
Printing Permutaions of a String
Write out a function that prints out all the permutations of a string. For example, abc would give you abc, acb, bac, bca, cab, cba.
✍: Guest
void PrintPermu (char *sBegin, char* sRest) { int iLoop; char cTmp; char cFLetter[1]; char *sNewBegin; char *sCur; int iLen; static int iCount; iLen = strlen(sRest); if (iLen == 2) { iCount++; printf("%d: %s%s\n",iCount,sBegin,sRest); iCount++; printf("%d: %s%c%c\n",iCount,sBegin,sRest[1],sRest[0]); return; } else if (iLen == 1) { iCount++; printf("%d: %s%s\n", iCount, sBegin, sRest); return; } else { // swap the first character of sRest with each of // the remaining chars recursively call debug print sCur = (char*)malloc(iLen); sNewBegin = (char*)malloc(iLen); for (iLoop = 0; iLoop < iLen; iLoop ++) { strcpy(sCur, sRest); strcpy(sNewBegin, sBegin); cTmp = sCur[iLoop]; sCur[iLoop] = sCur[0]; sCur[0] = cTmp; sprintf(cFLetter, "%c", sCur[0]); strcat(sNewBegin, cFLetter); debugprint(sNewBegin, sCur+1); } } } void main() { char s[255]; char sIn[255]; printf("\nEnter a string:"); scanf("%s%*c",sIn); memset(s,0,255); PrintPermu(s, sIn); }
2007-02-26, 7046👍, 0💬
Popular Posts:
How do you estimate maintenance project and change requests?
How do we create DCOM object in VB6? Using the CreateObject method you can create a DCOM object. You...
What is Shell scripting A shell script is a script written for the shell, or command line interprete...
Who Developed HTML? HTML was originally developed by Tim Berners-Lee while at CERN, and popularized ...
it will be very helpful if you send some important Questions with Answers of DBMS Tell us what types...