Hallo Leute,
wie sortiere ich hier die Liste "liste" nach der Komponente Alter, bzw wie übergebe ich diese Liste an die Bubblesort-Funktion?
#include <stdio.h>
void bubblesort(int A[],int l,int r) {
int i,j;
for(i=l;i<r;i++) {
for (j=r;j>i;j--) {
if (A[j-1]<A[j]) exchange(&A[j-1],&A[j]);
}
}
}
void exchange(int* a, int* b) {
int temp=*a;
*a=*b;
*b=temp;
}
typedef struct person {
int alter;
char name[20];
} Person;
Person liste[3];
int main() {
liste[2].alter=3;
liste[2].name="Hans";
liste[1].alter=2;
liste[1].name="Peter";
liste[0].alter=1;
liste[0].name="Thorsten";
bubblesort( ??? )
Danke im Vorauss
Struct Array nach bestimmer Komponente sortieren
Moderator: Moderatoren
- beafraid88
- Beiträge: 99
- Registriert: Sa 25. Okt 2008, 17:34
- Wohnort: Aachen/Düsseldorf/Mönchengladbach
-
- Administrator
- Beiträge: 237
- Registriert: Mo 10. Mär 2008, 04:09
- Wohnort: Aachen
- Kontaktdaten:
Re: Struct Array nach bestimmer Komponente sortieren
Ich denke, dass die einfachste und schnellste Lösung wäre, wenn du eine
speziell angepasste Bubblesort-Funktion schreibst.
Diese vergleicht dann zwar das Alter, tauscht dann aber nicht nur die
Alterszahlen aus, sondern das komplette struct.
speziell angepasste Bubblesort-Funktion schreibst.
Diese vergleicht dann zwar das Alter, tauscht dann aber nicht nur die
Alterszahlen aus, sondern das komplette struct.