programowalnia.info

Nowy mechanizm forum! Problemy i sugestie proszę zgłaszać do administratora
Teraz jest 2010-07-30, 09:13

Wszystkie czasy w strefie UTC + 1




Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 2 ] 
Autor Wiadomość
 Tytuł: C# - Problem z sortowaniem listy
PostNapisane: 2009-01-08, 20:03 
Offline

Dołączył(a): 2008-12-29, 20:47
Posty: 2
Witam mam problem.
Otóż mam oto taką klasę:

Kod:
class DaneOsobowe
    {
        private string Imie;
        public string imie
        {
            get { return Imie; }
            set { imie = value; }
        }
        private string Nazwisko;
        public string nazwisko
        {
            get { return Nazwisko; }
            set { nazwisko = value; }
        }
        private string Zawód;
        public string zawód
        {
            get { return Zawód; }
            set { zawód = value; }
        }
        private int Pensja;
        public int pensja
        {
            get { return Pensja; }
            set { pensja = value; }
        }
        public DaneOsobowe(string imie, string nazwisko, string zawód, int pensja)
        {
            Imie = imie;
            Nazwisko = nazwisko;
            Zawód = zawód;
            Pensja = pensja;
        }
    }


W głównym programie tworzę sobię listę składającą się z obiektów:

Kod:
List<DaneOsobowe> lista = new List<DaneOsobowe>();




Co należy zrobić żeby można było posegregować listę po nazwisku, zawodzie i pensji osobno, tak żeby użytkownik mógł wybrać po czym ma sortować

P.S.
Program piszę w Microsoft Visual Studio 2008 jeśli to jest ważne.


Góra
 Zobacz profil Wyślij e-mail  
 
 Tytuł:
PostNapisane: 2009-01-21, 00:12 
Offline

Dołączył(a): 2007-11-03, 20:38
Posty: 28
Lokalizacja: ten wdziek
Widze po linijce
Kod:
List<DaneOsobowe> lista = new List<DaneOsobowe>();

ze lista jest szablonem wiec pewnie jest w niej umieszczony wskaznik do klasy o typie podanym przez szablon w Twoim przypadku DaneOsobowe
tak wiec wystarczy ze uzyjesz zwykle sortowanie dla listy gdzie bedziesz porownywal kolejne elementy ze soba i przepisywal w liscie (badz tworzyl nowa liste ale to marnotrastwo), zeby nie bylo ze sie madrze teoria to napisze Ci cos w formie pseudo kodu bo nie chce mi sie przewijac strony do gory i do dolu zeby sprawdzac jak masz ta klase puknieta.


Kod:
List<DaneOsobowe> *wsk; //jesli head to pierwszy el listy
List<DaneOsobowe> *tmp;
bool posortowane = false;

while(!posortowane){

wsk = head;
tmp = wsk->next;
posortowane = true;

while(tmp){ //wykonuje sie do konca listy
     if(wsk->wartosc > tmp->wartosc){ //mozna tez zmienic kierunek nierownosci
          this->zamien_el(wsk,wartosc); //metoda zamieniajaca wartosci atrybutow miedzy klasami (nie przepisuj wskazmikow na kolejne elementy tylko pozamieniaj wartosci atrybutow)
          posortowane = false;
    }
    wsk = wsk->next;
    tmp = tmp->next;
}

}

_________________
"All it's a part of design..."


Góra
 Zobacz profil Wyślij e-mail  
 
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 2 ] 

Wszystkie czasy w strefie UTC + 1


Kto przegląda forum

Użytkownicy przeglądający to forum: Brak zalogowanych użytkowników i 0 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów

Szukaj:
Skocz do:  
 cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
opisy gg :: portal zdrowie :: sport i turystyka :: katalog dobrych stron :: ciekawostki komputerowe :: prawo i podatki :: Numizmatyka

Przyjazne użytkownikom polskie wsparcie phpBB3 - phpBB3.PL
phpBB SEO