[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

pl.comp.programming

sortowanie listy

Tigr

4/10/2007 4:03:00 PM

Witam,

Mam pewien problem z posortowaniem listy jednokierunkowej. Ca3o?a
przedstawia sie nastepuj?co:
-lista sk3ada sie ze struktur, zawieraj?cych pola typu int
-dane przechowywane w li?cie to numery produktów w formacie:
1234 12345678 12345678 1234567890

struct Element{
int blok1;
int blok2;
int blok3;
int blok4;
}

Nie mog3em wczytywaa ca3ych liczb, tylko podzieli3em j? na bloki
odpowiednio po 4 8 8 10 cyfr poniewa? by3by problem w przechowaniem 30
cyfrowej liczby.

Moje pytanie: jak moge teraz posortowaa te liste skoro elementy nie s?
traktowanie jako jedna liczba tylko bloki?
5 Answers

Lopez

4/11/2007 8:26:00 AM

0

Johnny2 napisa3(a):
> Witam,
>
> Mam pewien problem z posortowaniem listy jednokierunkowej. Ca3o?a
> przedstawia sie nastepuj?co:
> -lista sk3ada sie ze struktur, zawieraj?cych pola typu int
> -dane przechowywane w li?cie to numery produktów w formacie:
> 1234 12345678 12345678 1234567890
>
> struct Element{
> int blok1;
> int blok2;
> int blok3;
> int blok4;
> }
>
> Nie mog3em wczytywaa ca3ych liczb, tylko podzieli3em j? na bloki
> odpowiednio po 4 8 8 10 cyfr poniewa? by3by problem w przechowaniem 30
> cyfrowej liczby.
>
> Moje pytanie: jak moge teraz posortowaa te liste skoro elementy nie s?
> traktowanie jako jedna liczba tylko bloki?

zdefiniuj dla tej struktury operator<() i u?yj std::sort.
Jako liste lepiej bedzie jak zastosujesz std::list.

--
Pozdrawiam
Lopez

Greg

4/11/2007 9:40:00 AM

0

Lopez napisa3(a):
> Johnny2 napisa3(a):
>> Witam,
>>
>> Mam pewien problem z posortowaniem listy jednokierunkowej. Ca3o?a
>> przedstawia sie nastepuj?co:
>> -lista sk3ada sie ze struktur, zawieraj?cych pola typu int
>> -dane przechowywane w li?cie to numery produktów w formacie:
>> 1234 12345678 12345678 1234567890
>>
>> struct Element{
>> int blok1;
>> int blok2;
>> int blok3;
>> int blok4;
>> }
>>
>> Nie mog3em wczytywaa ca3ych liczb, tylko podzieli3em j? na bloki
>> odpowiednio po 4 8 8 10 cyfr poniewa? by3by problem w przechowaniem 30
>> cyfrowej liczby.
>>
>> Moje pytanie: jak moge teraz posortowaa te liste skoro elementy nie s?
>> traktowanie jako jedna liczba tylko bloki?
>
> zdefiniuj dla tej struktury operator<() i u?yj std::sort.
> Jako liste lepiej bedzie jak zastosujesz std::list.

A skoro ju? w ten sposób, to stwórz mo?e sobie odpowiedni? klase na
d3ugie (du?e) liczby. Taki odpowiednik stringa, tyle, ?e pola
ograniczone do zakresu 0..9. Prostsze i elastyczniejsze rozwi?zanie ni?
rozwalaa liczbe na kilka intów.

--
Pozdrawiam,
Greg

JimVonMoon

4/11/2007 3:53:00 PM

0

On Wed, 11 Apr 2007 10:25:57 +0200, Lopez <rtlopezREMOVE@gazeta.pl>
wrote:

>zdefiniuj dla tej struktury operator<() i u?yj std::sort.
>Jako liste lepiej bedzie jak zastosujesz std::list.

Tak latwo sobie std::list nie posortuje przy pomocy std::sort().

--
Jakub Nowakowski
http://www.jimvo...

Muchomor

4/11/2007 5:20:00 PM

0


"Lopez" <rtlopezREMOVE@gazeta.pl> wrote >
> zdefiniuj dla tej struktury operator<() i u¿yj std::sort.
> Jako liste lepiej bedzie jak zastosujesz std::list.
>
std::list nie posortujesz przy pomocy std::sort(). Pocztaj sobie o std::sort
i Random Access Iterators to bedziesz wiedzial dlaczego.

pzdr
Muchomor


Lopez

4/11/2007 7:34:00 PM

0

Muchomor napisa3(a):
> "Lopez" <rtlopezREMOVE@gazeta.pl> wrote >
>> zdefiniuj dla tej struktury operator<() i u?yj std::sort.
>> Jako liste lepiej bedzie jak zastosujesz std::list.
>>
> std::list nie posortujesz przy pomocy std::sort(). Pocztaj sobie o std::sort
> i Random Access Iterators to bedziesz wiedzial dlaczego.
>

S3uszna uwaga, rozpedzi3em sie troche.
std::list ma w3asn? metode sort().

--
Pozdrawiam
Lopez