Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ADRES sortowanie(ADRES pierwszy)
- {
- int IleEl = 0;
- ADRES pom = pierwszy;
- while(pom)
- {
- IleEl++;
- pom = pom->nast;
- } //Liczymy ile elementów ma lista
- if(IleEl == 1) //Jezeli jeden element
- return pierwszy; //To nie ma co go sortowac
- while(IleEl>0) //Wykonujemy tyle razy ile jest elementów
- {
- pom = pierwszy;
- //Porownujemy jedynie pierwsze elementy
- if((pierwszy->dane.KwotaNoc > pierwszy->nast->dane.KwotaNoc)||(pierwszy->dane.KwotaNoc == pierwszy->nast->dane.KwotaNoc && stricmp(pierwszy->dane.Miasto,pierwszy->nast->dane.Miast)>0)) //Dosyc zlozony warunek porownania pierwszych elementow
- {
- pierwszy->nast = pierwszy->nast->nast;
- pom -> nast = pierwszy;
- pierwszy = pom;
- }
- //A teraz wszystkie inne
- while(pom->nast->nast)
- {
- if((pom->nast->dane.KwotaNoc > pom->nast->nast->dane.KwotaNoc)||(pom->nast->dane.KwotaNoc == pom->nast->nast->dane.KwotaNoc && stricmp(pom->nast->dane.Miasto,pom->nast->nast->dane.Miast)>0))
- {
- ADRES Buf = pom->nast;
- pom->nast = pom->nast->nast;
- Buf->nast = pom->nast->nast;
- pom->nast -> nast = Buf;
- }
- }
- IleEl--;
- }
- return;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement