Witam, mam problem z posortowaniem listy 1 kierunkowej.
Sortuje względem pola "polskie".
lista:
struct element{
char polskie[50];
int ilosc_tlumaczen;
char angielskie[T][50];
struct element *nast;
};
typedef struct element ELEMENT;
typedef ELEMENT *ADRES;
funkcja sortująca:
void sortowanie(ADRES *pierwszy){
ADRES *pom;
char tab[50];
int zmiany;
do{
for(*pom=*pierwszy;*pom!=NULL;*pom=*pom->nast){
if(strcmp(*pom->polskie,*pom->nast->polskie)>0){
strcpy(tab,*pom->polskie);
strcpy(*pom->polskie,*pom->nast->polskie);
strcpy(*pom->nast->polskie,tab);
}
}}while(zmiany!=0);
}
kompilator pokazuje błędy takie:
error: expected identifier before '*' token|
error: request for member 'polskie' in something not a structure or union|
error: request for member 'nast' in something not a structure or union|
nie wiem czy poprawnie to na wskaźnikach zrobiłem, ale chcę aby to posortowało całą listę orginalną, a nie tylko kopię stworzoną przez funkcję.
Proszę o pomoc.