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 2020 - 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-2020 
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
----------------------------------------------------------------------