Forum

Lista jednokierunkowa - problem z sortowaniem

[+] Twoje konto

Subskrybuj kanał najnowszych wypowiedzi w tym temacie

Wątek Forum > Porady > Programowanie > Lista jednokierunkowa - problem z sortowaniem

Idź do strony:1
Ocena: (Ocen: 0)
Wypowiedzi 1 - 3 z 3
 Zarejestrowany, zwieszony adi Kopiuj nick (77.253.184.*) |  
Wypowiedź dodana: 2 stycznia 2009, 01:21:23
« Opcje

Witam,

Mam problem z posortowaniem struktury. Powinna być ona sortowana wg nazwiska, zamieniając wskaźniki do następnego elementu.

struct ELEMENT
{
char imie[20];
char nazwisko[20];
int nr_indeksu;
ELEMENT* next;
};

struct HEADER
{
ELEMENT* head;
ELEMENT* tail;
};

void Lista::sort()
{
unsigned short int ilosc = 0;
for (ELEMENT* el = header.head; el; el = el->next) ++ilosc;
ELEMENT* temp = new ELEMENT;
unsigned short int i;
if (ilosc) ilosc--;
for(i = 0; i < ilosc; i++)
for (ELEMENT* el = header.head; el != header.tail && el->next != NULL; el = el->next)
if(strcmp(el->nazwisko, el->next->nazwisko) > 0){
{
temp = el;
el = el->next;
el->next = temp;
//el->next->next = el->next;
//if(el->next->next == NULL)
//el->next->next = NULL;
//header.head = el;
}
}
}

Prosiłbym o jakiekolwiek wskazówki do algorytmu sortującego, który niestety niedziała.

 Gość REKLAMA Kopiuj nick (*->*)
Wypowiedź dodana: 2 stycznia 2009, 01:21:24

AvatarAdministrator Dżyszla Mężczyzna Kopiuj nick (83.2.108.*) |  
Wypowiedź dodana: 4 stycznia 2009, 09:47:19
« Opcje

na co ma być warunek el!=header.tail?

Generalnie aby dokonać przestawienia w liście, to analizę należy wykonywać z poziomu elementu poprzedzającego. Wtedy to:
1. Next elementu poprzedzającego musi wskazać na następnik swojego następnika (Next->Next).
2. Next elementu analizowanego musi wskazać na następnik swojego następnika.
3. W tym momencie NExt owego nowego następnika elementu poprzedzającego musi wskazać na ten stary następnik (którego wskaźnik musi być przechowany w zmiennej tymczasowej.

Absolutnym błędem jest jakiekolwiek tworzenie nowego elementu (new) w procesie sortowania.


mgr inż. Dżyszla

Nie odpisuję na problemy zgłaszane na e-mail lub PW!

Także dzięki firmie Netlook.pl możesz za darmo korzystać z tej strony!

 Zarejestrowany, zwieszony minchu3 Kopiuj nick (217.67.194.*) |  
Wypowiedź dodana: 17 stycznia 2014, 10:25:14 | Wypowiedź edytowana Ostatnio edytowana: 17 stycznia 2014, 18:14:15 po raz 1-wszy przez: Dżyszla
« Opcje

Typowy problem FIFO

 
Idź do strony:1

[+] Pokaż/odśwież listę czytających i monitorujących ten wątek

Podobne tematy:
Tytuł wątkuDziałWypowiedziWyświetleńOcenaOstatnia wypowiedź
WątekProblem z DE PowerPack
Problem z Dekoder Elektronika PowerPack
Komentarze / Moje programy i teksty / Dekoder Elektronika2358 25.08.2008 23:14:38
WątekProblem z USB 2.0Porady / Sprzęt111 209 13.02.2008 10:42:04
WątekProblem z FFPorady / Oprogramowanie, systemy operacyjne5109 23.01.2008 19:39:50
WątekProblem z komponentamiPorady / Programowanie280 13.03.2010 20:09:44
WątekProblem z instalacja xpPorady / Oprogramowanie, systemy operacyjne191 385 23.07.2008 22:18:32

Nowa wypowiedź

Nowa wypowiedź
Nie jesteś zalogowany; będziesz traktowany jako gość!
Zaloguj Zaloguj
Nick (gość): | Przepisz ten kod [?]: 13409:
Tekst:

 

Subskrybuj kanał najnowszych wypowiedzi w tym temacie


Chcesz mieć też takie forum na swojej stronie? Napisz!

Strona istnieje od 25.01.2001
Ta strona używa plików Cookie
Helion.pl  
archive To tylko kopia strony wykonana przez robota internetowego! Aby wyświetlić aktualną zawartość przejdź do strony.
Ładowanie...

Optymalizowane dla przeglądarki Firefox
© Copyright 2001-2017 Dawid Najgiebauer. Wszelkie prawa zastrzeżone.
Ostatnia aktualizacja podstrony: 22.09.2014 12:12
Wszystkie czasy dla strefy czasowej: Europe/Warsaw