
Pole je štruktúra dát v C / C + + Programovanie
Ako je spomenuté v predchádzajúcej post, existujú dva typy dátových štruktúr k dispozícii C / C + + programátorov. Jedným z nich je už zabudovaný do programovacieho jazyka a druhý je trochu zložitý v tom zmysle, že môžu byť realizované pomocou vstavaných dátových štruktúr a dátových typov. V jazyku C / C + + programovací jazyk, postavený v dátovej štruktúry patria Pole, štruktúry, odbory a tried. Niektoré z príkladov zložitých dátových štruktúr sú zásobník, fronta, spájať zoznam, strom a graf.
Cieľom tejto prvej tutoriálov je naučiť, ako deklarovať, inicializovať a používať jednoduché polia, rovnako ako multidimenzionálnej poľa. Budete tiež môcť používať pole ako dátová štruktúra v C / C + + program. Takže na konci tohto tutoriálu budete môcť odpovedať:
- Čo je to pole a ako ho používať?
- Ako vyhlásil a inicializovať jednoduchá pole?
- Ako vyhlásil a inicializovať multidimenzionálnej pole?
- Ako vykonávať jednoduché operácie na pole?
Čo je pole?
Array je veľmi základnú dátovú štruktúru poskytovaných každý programovací jazyk. Poďme sa baviť o príklad scenár, kde je potreba ukladať dáta desiatimi zamestnancami 'v našej C / C + + program vrátane meno, vek a plat. Jedným z riešení je vyhlásiť desiatich rôznych premenných pre ukladanie zamestnancov názov a ďalších desať na ukladanie vek a tak ďalej. Tiež budete potrebovať nejaký mechanizmus, ako získať informácie pre zamestnancov, záznamy vyhľadávanie zamestnancov a triediť ich. Ak chcete vyriešiť tieto typy problémov, C / C + + poskytujú mechanizmus s názvom poľa.
Definícia
Pole je len počet pamäťových miest, z ktorých každá môže ukladať položky údajov rovnakého dátového typu a ktoré sú všetky odkazovať pomocou rovnakého mena premennej. Ivor Horton.
Array môže byť definovaná abstraktne ako konečné poradie stanovenom rovnorodých prvkov. Takže môžeme povedať, že existuje konečný počet prvkov v poli a všetky prvky sú rovnakého dátového typu. Tiež polia prvky sú zoradené teda môžeme prístup konkrétny prvok poľa v indexe.
Ako vyhlásil pole?
Všeobecnú formu vyhlásenia jednoduchý (jednorozmerné) poľa je
[Array_type variable_name array_size]; v C / C + + program si môžete deklarovať poľa ako
int veku [10]; Tu array_type deklaruje základný typ pole, ktoré je typ každého prvku v poli. V našom príklade array_type je int a jeho meno je vek. Veľkosť poľa je definovaná array_size tj 10. Môžeme prístup pole prvkov vo forme indexu, a prvá položka v poli je index 0. Prvý prvok poľa sa nazýva dolná hranica a vždy 0. Najvyššia element v poli sa nazýva horná hranica.
V programovacom jazyku C horná a dolná hranica nemožno meniť počas vykonávania programu, polia dĺžka môže tak byť iba vtedy, keď program v písomnej forme.
Veku 0 rokov | Veku 1 | Age 2 | Vo veku 3 | Veku 4 | Veku 5 | Veku 6 | Veku 7 | 8 rokov | 9 rokov |
30 | 32 | 54 | 32 | 26 | 29 | 23 |
43 | 34 | 5 |
Pole má 10 prvkov
Poznámka: Jedna dobrá prax je vyhlásiť pole dĺžky ako konštantný identifikátor. Tým sa minimalizuje požadované práce zmeniť veľkosť poľa v priebehu vývoja programu.
Vzhľadom k tomu, polia sme deklarované, môžeme vyhlásiť, že ako
# Define NUM_EMPLOYEE 10 int Vek] [NUM_EMPLOYEE;
Ako inicializovať pole?
Inicializácia poľa je veľmi jednoduché c programovanie. Existujú dva spôsoby, ako môžete inicializáciu poľa.
- Deklarovať a inicializovať pole v jednom vyhlásení.
- Deklarovať a inicializovať pole zvlášť.
Pozrite sa na nasledujúci kód v C, ktoré svedčia o vyhlásení a inicializácia poľa.
int veku [5] = (30, 22, 33, 44, 25); int veku [5]; Vek [0] = 30; Vek [1] = 22; Vek [2] = 33; Vek [3] = 44; Vek [4] = 25;
Array môže byť tiež inicializovaná v spôsobmi, ktoré veľkosť poľa je vynechaný, v takom prípade prekladač automaticky alokuje pamäť na pole.
Vek int [] = (30, 22, 33, 44, 25); Poďme si napísať jednoduchý program, ktorý využíva pole vytlačiť počtu zamestnancov, ktorí majú plat viac ako 3000.
Array v C Programming
# Include <windows.h> # Include <stdio.h> # Include <stdlib.h> # Define NUM_EMPLOYEE 10 int main (int argc, char * ArGV []) ( int Plat [NUM_EMPLOYEE], lCount = 0, gCount = 0, i = 0; printf ("Zadajte zamestnanec plat (Max 10) \ n"); pre (i = 0; i <NUM_EMPLOYEE; i + +) ( printf ("\ nEnter zamestnanec plat:% d -", i +1); scanf ("% d", & Plat [i]); ) pre (i = 0; i <NUM_EMPLOYEE; i + +) ( if (Plat [i] <3000) lCount + +; iný gCount + +; ) printf ("\ nThere sú (% d) zamestnanec s platom vyše 3000 \ n", gCount); printf ("Existujú% d () zamestnanec s platom nižším ako 3000 \ n", lCount); printf ("Press ENTER pokračovať ... \ n"); getchar (); return 0; )
Array v C + + Programovanie
# Include # include <cstdlib> <iostream> # define NUM_EMPLOYEE 10 using namespace std; int main (int argc, char * ArGV []) (int plat [NUM_EMPLOYEE], lCount = 0, gCount = 0, i = 0; súd <<"Zadajte zamestnanec plat (Max 10)" <<Endl; pre (i = 0; i <NUM_EMPLOYEE; i + +) (coût <<"Zadajte zamestnanec plat: -" <<i +1 <<endl; cin>> Plat [i];) pre (i = 0; i <NUM_EMPLOYEE; i + +) (if (plat [i] <3000) lCount + +, inak gCount + +;) coût <<"Existuje" <<gCount <<"zamestnanec s platom viac ako 3000 "<<Endl <<" Existuje "<<lCount <<" zamestnanec s platom nižším ako 3000 "<<Endl; systému (" PAUSE "); návrat EXIT_SUCCESS;) Ako vyhlásil a inicializovať multidimenzionálnej pole?
Často je potrebné manipulovať s tabuľkových dát alebo matice. Napríklad ak zamestnanec plat sa zvyšuje o 20% a tie sú povinné uchovávať aj platy vo svojom programe. Potom budete musieť ukladať túto informáciu do dvojrozmernej poľa. C / C + + vám dáva možnosť mať poľa akéhokoľvek rozmeru.
Multi rozmer poľa
Zoberme si príklad vyššie, musíte uložiť, predchádzajúce mzdy, platu a súčasnej výške prírastku. V takom prípade budete musieť uchovávať túto informáciu v trojrozmernej poľa.
Najskôr som vám ukáže, ako deklarovať dvojrozmerné pole a inicializovať ju. Potom napíšte kompletný program na použitie viacrozmerných polí.
Plat int [10] [2]; To definuje pole obsahujúce 10 prvkov typu int. Každý z týchto prvkov sám o sebe je pole dvoch celých čísel. Takže sledovať každého prvku tohto poľa je budeme musieť použiť dva indexy. Jedným z nich je sledovať riadku a druhá je sledovať kolóny.
Základy multidimenzionálnej poľa
Tu je grafický pohľad na multidimenzionálnej pole, ktoré používame na ukladanie plat a zvýšenie o platu. Prvý stĺpec obchody plat prvok poľa a druhý stĺpec obchody prírastok na platu. Mohli by sme pridať ďalší stĺpec uložiť nový plat, ktorý pridáva prírastku platov.
Stĺpec 0 - Plat | Stĺpec 1 - Prírastok | |
| Riadok 0 | ||
| Riadok 2 | ||
| Riadok 3 | ||
| Ø. 4 | ||
| Riadok 5 | ||
| Riadok 6 | ||
| Riadok 7 | ||
| Riadok 8 | ||
| Riadok 9 | ||
| Riadku 10 |
Začína multidimenzionálnej poľa
Multidimenzionálnej pole môže byť tiež inicializovaná dvomi spôsobmi, rovnako ako jednorozmerné pole. Dva rovnátka sa používajú pre surround riadku prvok poľa.
Ak ste inicializácii viac ako jeden rozmer, potom sa budete musieť používať toľko plecnice, ako sú rozmery polia sú.
Plat int [5] [2] = ( (2300, 460), (3400, 680), (3200, 640), (1200, 240), (3450, 690) ); Plat int [5] [2] = (0); / / Toto bude inicializovať všetky prvky poľa na 0 Plat int [5] [2]; Plat [0] [0] = 2300; Plat [1] [0] = 3400; Plat [2] [0] = 3200; Plat [3] [0] = 1200; Plat [4] [0] = 3450; Plat [0] [1] = 460; Plat [1] [1] = 680; Plat [2] [1] = 640; Plat [3] [1] = 240; Plat [4] [1] = 690;
Tu je kompletný program napísaný v C aj C + + na preukázanie používania viacrozmerných polí. Nájdete kompletný zdrojový kód v súbore zips na konci tutoriálu. Zdrojový kód je k dispozícii ako v C a C + + programovacie jazyky. Zip súbor obsahuje aj demonštrácia trojrozmerných polí.
Demonštrácia dvoch rozmeru poľa
Nasledujúci kód demonštruje dva rozmeru poľa. To používa rovnaký príklad zamestnanca platu na zvýšenie je o 20% a pridá ju do skutočného platu potom tlač súčasný plat, inkrementace a nové plat.
Dve rozmerné Array v C Programming
# Include <windows.h> # Include <stdio.h> # Include <stdlib.h> # Define NUM_EMPLOYEE 10 int main (int argc, char * ArGV []) ( / / Inicializovať mzdy každého zamestnanca int Plat [NUM_EMPLOYEE] [2] = ( () 2300,0, () 3400,0, () 3200,0, () 1200,0, () 3450,0, () 3800,0, () 3900,0, () 2680,0, () 3340,0, (3000,0) ); int lCount = 0, gCount = 0, i = 0; pre (i = 0; i <NUM_EMPLOYEE; i + +) ( Plat [i] [1] = ((plat [i] [0] * 20) / 100); ) printf ("nástupný plat + Prírastok = celkom Plat \ n"); pre (i = 0; i <NUM_EMPLOYEE; i + +) ( printf ("% d \ t \ t% d \ t \ t% d \ n", plat [i] [0], plat [i] [1], plat [i] [0] + platov [i] [ 1]); ) printf ("Press ENTER pokračovať ... \ n"); getchar (); return 0; )
Dve rozmerné polia v C + + Programovanie
# Include <cstdlib> # Include <iostream> # Define NUM_EMPLOYEE 10 using namespace std; int main (int argc, char * ArGV []) ( / / Inicializovať mzdy každého zamestnanca int Plat [NUM_EMPLOYEE] [2] = ( () 2300,0, () 3400,0, () 3200,0, () 1200,0, () 3450,0, () 3800,0, () 3900,0, () 2680,0, () 3340,0, (3000,0) ); int lCount = 0, gCount = 0, i = 0; pre (i = 0; i <NUM_EMPLOYEE; i + +) ( Plat [i] [1] = ((plat [i] [0] * 20) / 100); ) coût <<"nástupný plat + Prírastok = celkom Plat" <<Endl; pre (i = 0; i <NUM_EMPLOYEE; i + +) ( printf ("% d \ t \ t% d \ t \ t% d \ n", plat [i] [0], plat [i] [1], plat [i] [0] + platov [i] [ 1]); ) systému ("PAUSE"); návrat EXIT_SUCCESS; )
Stiahnite si kompletný zdrojový kód:
Pole ako dátová štruktúra (2,2 KiB, 1.597 hity)
Súvisiace Tutoriály a zdrojový kód na pole
- Ďalšie tutoriál na polia v C Programming
- Jednoduché operácie s poli
- Násobenie matíc
- Čítanie / písanie / cúvanie integer polia
Tagy: pole , C programovanie , dátové štruktúry
Rovnako ako čo vidíte?
Staňte sa jedným z stáli upísaním! Budete ako prvý vedieť, keď budeme pridávať ďalšie skvelá miesta práve takhle. Pripojte sa do buď RSS alebo svářeč dnes!
Nie sú žiadne komentáre k tomuto príspevku. Môžete sledovať všetky reakcie na tento vstup pomocou RSS 2.0 feed . Môžete preskočiť na koniec a zanechať odpoveď , alebo Trackback z vašich vlastných stránok.


































