faqts : Computers : Programming : Languages : Tse : Sort

+ Search
Add Entry AlertManage Folder Edit Entry Add page to http://del.icio.us/
Did You Find This Entry Useful?

Entry

TSE: String: Sort: How to sort single characters in a string?

Nov 7th, 2006 12:43
Knud van Eeden,


----------------------------------------------------------------------
--- Knud van Eeden --- 07 November 2006 - 09:38 pm -------------------

TSE: String: Sort: How sort single characters in a string?

---

Method:

One by one you take the characters of a given string
and feed them into a routine which accepts one
character at a time and inserts this character
sorted in another string.

--- cut here: begin --------------------------------------------------

// library: string: get: sort: character: insert [kn, ho, tu, 07-11-
2006 21:30:39]

STRING PROC FNStringGetSortCharacterInsertS( STRING characterS, STRING 
inS )

 INTEGER I = 0
 INTEGER insertB = FALSE
 INTEGER lengthI = 0
 STRING cS[255] = ""
 STRING s[255] = inS
 I = 1 - 1
 REPEAT
  I = I + 1
  lengthI = Length( s )
  insertB = FALSE
  cS = SubStr( s, I, 1 )
  IF ( characterS <= cS )

   s = SubStr( s, 1, I - 1 ) + characterS + SubStr( s, I, lengthI - I 
+ 1 )

   insertB = TRUE
  ENDIF
 UNTIL ( insertB ) OR ( I >= lengthI )
 IF NOT insertB
  s = s + characterS
 ENDIF
 RETURN( s )
END

// library: string: get: sort: character: all [kn, ho, tu, 07-11-2006 
21:43:36]

STRING PROC FNStringGetSortCharacterAllS( STRING inS )
 STRING s[255] = ""
 STRING characterS[255] = ""
 INTEGER I = 0
 FOR I = 1 TO Length( inS )
  characterS = SubStr( inS, I, 1 )
  s = FNStringGetSortCharacterInsertS( characterS, s )
 ENDFOR
 RETURN( s )
END

PROC Main()

 Message( FNStringGetSortCharacterAllS( "GFDBACH" ) ) // gives 
e.g. "ABCDFGH"

END

<F12> Main()

--- cut here: end ----------------------------------------------------

===

Internet: see also:

---

TSE: Menu: Character: Hotkey: Link: Overview: Can you give an overview 
of links?
http://www.faqts.com/knowledge_base/view.phtml/aid/42905/fid/1571

----------------------------------------------------------------------