![]() |
![]() |
|
|
|||||||
| Registrieren | Hilfe/Forumregeln | Benutzerliste | Kalender | Suchen | Heutige Beiträge | Alle Foren als gelesen markieren |
| Programmierung Rat & Tat für Programmierer |
|
|
Themen-Optionen | Ansicht |
|
|
#5 |
|
Hero
![]() |
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 |
|
|
|
| Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
| Themen-Optionen | |
| Ansicht | |
|
|