Hackerboard Wiki HaboBlog
Hackerboard bei Facebook Hackerboard bei Google+ Hackerboard bei Twitter

[HaBo]

 
Code Kitchen Allgemeines Coder-Forum rund um das Programmieren eigenständiger, ausführbarer Programme.

Lineare Liste Sortieren??

Diskussion: Lineare Liste Sortieren?? im Forum Code Kitchen, in der Kategorie Software Home; Anzeige Hallo miteinander, ich habe ein problem, und zwar habe ich eine lineare liste in C programmiert welche Elemte des ...

Antwort
Alt 20.12.07, 11:02   #1 (permalink)
 
Registriert seit: 04.04.07
kalil1234 Leistung: Addierstift
Likes: 0
Smile Lineare Liste Sortieren??

Anzeige

Hallo miteinander,


ich habe ein problem, und zwar habe ich eine lineare liste in C programmiert welche Elemte des typs struct_schulklassen hat:

struct(

char klasse[5];
int stunde;
char lehrerkürzel[3];
);

naja... auf jeden fall könnte so ein char array --> klasse wie folgt aussehen: 5bI-3
ich will jetzt das alle elmente der list nach dem arraay KLASSE geordnet werden.

Nehmen wir an ich hätte 3 ELemente in der List.
Deren Array Klasse sieht wie folgt aus:

1)3bI-2
2)1bI-1
3)2bI-3

--> sortiert sollte es so aussehen:

1bI-2
2bI-3
3bI-2

....

Naja hoffe das ihr mir weiterhelfen könnt.

Mfg kalil

kalil1234 ist offline   Mit Zitat antworten
Alt 20.12.07, 12:18   #2 (permalink)
 
Registriert seit: 08.04.07
thyrael.lu Leistung: Facit NTK
thyrael.lu eine Nachricht über ICQ schicken
Likes: 1
Standard

Um die Strings zu vergleichen, wäre ja strcmp(const char* s1, const char* s2) naheliegend. Rückgabewert kleiner null bedeutet s1<s2, größer null ist s1>s2 und null kommt halt, wenn beide gleich sind. Der Vergleich ist lexikographisch, also kann man das benutzen, um alphabetisch so sortieren (das scheint es ja zu sein):

Code:
#include <stdio.h>

char *strings[] = { "3bl-2", "1bl-1", "2bl-3" };

int main (int argc, char *argv[])
{
        int i,n;
        char *tmp;
        for (i=0; i<=2; i++)
                printf("%i %s \n", i, strings[i]);
        /* Bubblesort ... */
        for (i=1; i<=2; i++) {
                if (strcmp((const char*) strings[i-1], (const char*) strings[i]) > 0) {
                        tmp = strings[i-1];
                        strings[i-1] = strings[i];
                        strings[i] = tmp;
                }
        }
        for (i=0; i<=2; i++)
                printf("%i %s \n", i, strings[i]);
        return 0;
}
Das müsstest du dann natürlich irgendwie an deine Liste anpassen (die muss in irgendeiner Form Werte einfügen und löschen sowie den Zeiger bewegen können). Und natürlich kein Bubblesort...
thyrael.lu ist offline   Mit Zitat antworten
   
HaBOT
 
- Anzeige -

Werbung ist gerade online    
Alt 20.12.07, 12:25   #3 (permalink)
Themenstarter
 
Registriert seit: 04.04.07
kalil1234 Leistung: Addierstift
Likes: 0
Standard

danke viielmals.. werde gleich meiner list anpassen und compilen..
wow echt danke..


mfg kalil
kalil1234 ist offline   Mit Zitat antworten
Antwort
   
- Anzeige -

Werbung ist gerade online    

[HaBo] » Software Home » Code Kitchen » Lineare Liste Sortieren??
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind aus
Pingbacks sind aus
Refbacks sind aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Wie Filme sortieren? snoggo Music- & Filmbox 7 23.03.09 12:28
verkettete Liste in vb.net sortieren Hadon Code Kitchen 2 05.03.08 12:15
ComboBox sortieren in Delphi ByteDevil Code Kitchen 0 24.11.07 12:52
PHP: Alphabetisch Sortieren mido (Web-) Design und webbasierte Sprachen 5 09.04.03 18:20
2Dimensionale Arrays sortieren niedriger noob (Web-) Design und webbasierte Sprachen 8 06.06.02 13:56


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61