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*'
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++)
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żdeSheet ■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óżniDSC00394 (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 rozdziALG1 1.2. Jak to się niedawno odbyło, czyli. 211.2. Jak to się niedawno odbyło, czyli o tym kto „wyALG1 2.2. Ilustracja pojęcia rekurencji 31 od psychologii zachowań dziecka chwyciłby się za głowę zALG1 2.B. Typy programów rekurencyjnych 41 if (x==0) return 1; else return x*silnial !x-l); t Nie jALG1 i 2.10. Rozwiązania i wskazówki do zadań 51Zad. 2-3 Program nie należy do zbyt skomplikowanychALG1 3.2. Przykład 1: Jeszcze raz funkcja silnia... 61 W obliczeniach wykonywanych przez programistALG1 3.7. Analiza programów rekurencyjnych 71 Cały ten bagaż wzorów był naprawdę niezbędny! Dla zilALG1 Rozdział 4Algorytmy sortowania Tematem tego rozdziału będzie opis kilku bardziej znanych metodALG1 5.1 Listy jednokierunkowe 101 5.1 Listy jednokierunkowe 101 ELEMENT Aprzed=NULL,*po=inf.głowa;więcej podobnych podstron