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!

 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 Elektronika2392 25.08.2008 23:14:38
WątekProblem z FFPorady / Oprogramowanie, systemy operacyjne5123 23.01.2008 19:39:50
WątekProblem z komponentamiPorady / Programowanie293 13.03.2010 20:09:44
WątekProblem z USB 2.0Porady / Sprzęt111 220 13.02.2008 10:42:04
WątekProblem z instalacja xpPorady / Oprogramowanie, systemy operacyjne191 397 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 [?]: a25f1:
Tekst:

 
* Wysyłając formularz wyrażasz zgodę na przetwarzanie przekazanych danych w zakresie wskazanym w Regulaminie

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.
Korzystając z niej wyrażasz zgodę na przetwarzanie danych a zakresie podanym w Polityce Prywatności.
Helion.pl  
archive To tylko kopia strony wykonana przez robota internetowego! Aby wyświetlić aktualną zawartość przejdź do strony.

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