Einzelnen Beitrag anzeigen
Alt 23.11.2003, 14:43   #5
Flink
Hero
 
Registriert seit: 29.08.2001
Alter: 57
Beiträge: 904


Flink eine Nachricht über ICQ schicken Flink eine Nachricht über Skype™ schicken
Standard

für lange Zeichenketten gibt es eine schnellere Variante:
Code:
#include <string.h>
void sort (char string[]);

int main()
{
	char string1[] = "abeejkieecccABEFE21342";

	sort(string1);

}

// sort bei längeren Strings
void sort (char string[])
{
 static int tabelle[255], akt_char;  // static, weil schneller
 long i, j, pos, len= strlen(string);

 // Initialisierung wegen static notwendig
 for(i=0;i<255;i++)
 {
    tabelle[i] = 0;
 }

  // sequentiell die Zeichen zählen
 for(i=0;i<len;i++)
 {
   tabelle [string[i]] ++;
 }

 for(i=0, pos=0;i<255;i++)
 {
   for (j = 0; j < tabelle[i]; ++j)
   {
     string[pos++] = (char) i;
   }
 }

}
____________________________________
Bibel
Flink ist offline   Mit Zitat antworten