ALG 1

ALG 1



4.4. Uwagi praktyczne 91

4.4. Uwagi praktyczne 91

quick-gcc.cc


int comp(const void *x, const void *y)

int y.y.=* ( int* ) x; int yy=*(int*)y;


// jawna konwersja z typu // ' void*' do int*'

// < 0


// - 0 // = // > 0


if(xx < yy) return -1; if(xx == yy) return 0;

else

return 1;

const n=12;

int tab[n]-{40,29,2,1, 6, 18,20, 32, 34,39, 23, 41 );

void main()

(

nsort (tab, n, sizeof (int) , coir.p) ; for (i-0; i<n; i.+-+) cout << tabfil <<" cout << endl;

)

Funkcja porównawcza comp zmienia się w zależności od typu danych sortowanej tablicy. Przykładowo, dla tablicy wskaźników ciągów znaków użylibyśmy jej następująco:

int comp(const void’ a, const void* b)

{

return(strcmp((char-)a, (char*)b));

)

void main()

(

char s(51[4)=("aaa", "ccc", "ddd'\ "zzz", "ttt" ); qsort((void*)s, 5, siseof(s[0]), comp!; for(int i=0; i<5; i++)

cout « s[i) << endl;


Wadą stosowania gotowej funkcji bibliotecznej jest brak dostępu do kodu źródłowego: dostajemy „kota w worku” i musimy się do niego przyzwyczaić...

Pisanie własnej procedury sortującej ma tę zaletę, że możemy ją zoptymalizować pod kątem naszej własnej aplikacji. Już wbudowanie funkcji comp wprost do procedury sortującej powinno nieci poprawić jej parametry czasowe... nie zmieniając jednak klasy algorytmu!


Wyszukiwarka

Podobne podstrony:
SDC13112 .V1/ i/1■ rj i* liHi 91 Mi llfj S T1 -J ’ ,“; (ff i    fi# i p v "Z-i/^
»1.3.6 Uwagi o tablicach wielowymiarowych W programie MATLAB macierze są dwuwymiarowe. Pozycja każde
»1.3.6 Uwagi o tablicach wielowymiarowych W programie MATLAB macierze są dwuwymiarowe. Pozycja każde
Sheet ■1 c r rr r r i 9021 91 _ i- f J *
RODZAJE STOSUNKU TRĄCY §1 UWAGI WSTĘPNE Stosunek pracy i umowa o prace to pojęcia odrębne. W odróżni
DSC00394 (18) Uwagi: ■    Wskaźnik każdego niestałego typu (oprócz obiektów typu 
ALG1 Przedmowa 11 Początkującym zalecane jest trzymanie się porządku narzuconego przez układ rozdzi
ALG1 1.2. Jak to się niedawno odbyło, czyli. 211.2. Jak to się niedawno odbyło, czyli o tym kto „wy
ALG1 2.2. Ilustracja pojęcia rekurencji 31 od psychologii zachowań dziecka chwyciłby się za głowę z
ALG1 2.B. Typy programów rekurencyjnych 41 if (x==0) return 1; else return x*silnial !x-l); t Nie j
ALG1 i 2.10. Rozwiązania i wskazówki do zadań 51Zad. 2-3 Program nie należy do zbyt skomplikowanych
ALG1 3.2. Przykład 1: Jeszcze raz funkcja silnia... 61 W obliczeniach wykonywanych przez programist
ALG1 3.7. Analiza programów rekurencyjnych 71 Cały ten bagaż wzorów był naprawdę niezbędny! Dla zil
ALG1 Rozdział 4Algorytmy sortowania Tematem tego rozdziału będzie opis kilku bardziej znanych metod
ALG1 5.1 Listy jednokierunkowe 101 5.1 Listy jednokierunkowe 101 ELEMENT Aprzed=NULL,*po=inf.głowa;

więcej podobnych podstron