8063591565

8063591565



Listing 1.1: (c.d. listingu z poprzedniej strony)

// strukturach danych STL.

15    #define FOREACH(i, c) for(VAR(i, (c).begin()); i != (c).end(); ++i)

// Skrót - zamiast pisać push_back podczas wstawiania elementów na koniec // struktury danych, takiej jak vector, wystarczy napisać PB

16    #define PB push_back

// Podobnie - zamiast first będziemy pisali po prostu ST

17    #define ST first

// a zamiast second - ND.

18    #define ND second


Listing 1.2: Nagłówki bez komentarzy

01    #include <cstdio>

02    #include <iostream>

03    #include <algorithm>

04    #include <string>

05    #include <vector>

06    using namespace std;

07    typedef vector<int> VI;

08    typedef long long LL;

09    #define FOR(x, b, e) for(int x = b; x <= (e); ++x)

10    #define FORD(x, b, e) for(int x = b; x >= (e); —x)

11    #define REP(x, n) for(int x = 0; x < (n); ++x)

12    #define VAR(v, n) __typeof(n) v = (n)

13    #define ALL(c) (c).begin(), (c).end()

14    #define SIZE(x) ((int)(x).size())

15    #define FOREACH(i, c) for(VAR(i, (c).begin()); i != (c).end(); ++i)

16    #define PB push.back

17    #define ST first

18    #define ND second


Oprócz nagłówków podstawowych, istnieje również wiele innych skrótów, które okazuję, się pomocne podczas rozwiązywania zadań. Omawiana w tej książce biblioteczka, oprócz nagłówków podstawowych, zawiera również dodatkowe makra, umieszczane tylko w tych programach, które z nich korzystają. Ich lista przedstawiona jest na listingu 1.3. W prezentowanych w książce programach będziemy odwoływali się zarówno do tych podstawowych, jak i dodatkowych nagłówków, bez informowania o konieczności dopisywania ich definicji do implementowanych programów. Dzięki takiemu podejściu, kody źródłowe przedstawianych w książce algorytmów są krótsze, a czytelnik nie musi analizować za każdym razem powtarzających się fragmentów kodu.


11



Wyszukiwarka

Podobne podstrony:
Listing 2.4: (c.d. listingu z poprzedniej strony) 25    vector<Ve> g; 26
skanuj0127 (16) 138 PHP i MySQL dla każdego Listing 5.2. Różne sposoby odczytania danych z formularz
10570 skanuj0382 (2) Rozdział 15.Generowanie statystykWstępne założenia i struktura danych PHP w poł
Listing 2.2: Metoda trapezów { 2007-01-22 15:46 $ ChRiS3K } Function cTrapez (a: Extended ;b: Extend
grb 1 jpeg 2> ANALIZA EKONOMICZNO-PRZESTRZENNA 7. Wskaż typowe struktury danych w 1. Jakie ty
lista2 (2) ALGORYTMY I STRUKTURY DANYCH - ćwiczenia II rok INFORMATYKA studia stacjonarne I sto
lista 6 (2) ALGORYTMY I STRUKTURY DANYCH - ćwiczenia II rok INFORMATYKA studia stacjonarne I st
skanuj0011 (63) INSPIRE zdefiniowano pięć podstawowych zasad tworzenia i funkcjonowania struktury&nb
IMG474 ALGORYTMY I STRUKTURY DANYCH - ćwiczenia INFORMATYKA II rok, studia stacjonarne I stopnia rok

więcej podobnych podstron