Mik azok a tömbök
A tömb hasonló adattípusú adatok gyűjteménye egy összefüggő memóriahelyen tárolva. Az adattípusok lehetnek egész számok, float, karakterláncok stb. Egy tömböt használnak a számítógépes programozásban az adatok egyszerű rendezésére. Az adatokat indexeléssel tudjuk lekérni. Tegyük fel, hogy van n elemeket egy tömbben, és az indexelés ezzel kezdődik 0 és addig megy n 1 XNUMX pozícióját növekményes módon. A két index közötti különbséget offsetnek nevezzük. Kérjük, tekintse meg az alábbi képet.
Példa a tömbre

Az Array felhasználási módjai
- Tegyük fel, hogy 100 változóra van szükségünk egy programban. Megvalósítható-e 100 változó deklarálása, például v1,v2,v3,….,v100? Ehelyett használhatunk egy tömböt, például v[0],v[1],…,v[100], amely ugyanazt a munkát végzi el.
- Egy tömb olyan helyen használható, ahol homogén adattípusokra van szükségünk, mint például a könyvtárkezelő rendszerek.
- Az olyan algoritmusok, mint a keresés, rendezés, tömböt használnak
Tömb tulajdonságai
- Egy tömb homogén adattípusokat tárol, és az adatok mérete megegyezik. Például, ha az egész adattípust tároljuk, akkor minden adatnak egész számnak kell lennie, és a mérete 4.
- Az adatok egy összefüggő memóriahelyen tárolódnak.
- Az adatokat az indexük alapján tudjuk lekérni.
A tömb előnyei
- Az indexe közvetlenül elérheti a tömb bármely elemét. Például, ha air[0]-t használunk, akkor a 0. pozíció elemét adja vissza. Hasonlóképpen az are[5] a tömb 5. pozíciójának elemét adja vissza.
- A tömbön való bejárás nagyon egyszerű, mivel csak az indexet növeljük. Tegyük fel, hogy bármely tömb a 0. pozícióval kezdődik, és n számot tartalmaz annak az értéknek a számából, amelyre szükségünk van az érték növeléséhez n 1 XNUMXth pozíció.
A tömbben elérhető indexelési típusok
- 0-alapú indexelés: A tömb első eleme a nulladik pozícióval kezdődik. Az A tömb első eleme A[0], és ha n szám van, akkor az utolsó elem A[n-1] lesz.
- 1 – alapú indexelés: A tömb első eleme az 1. pozícióval kezdődik. Az A tömb első eleme A[1], és ha n szám van, akkor az utolsó elem A[n]
- N alapú indexelés: Az első elem bármilyen véletlenszerű indexben tárolható.

Tömbök típusai
Főleg kétféle tömb áll rendelkezésre.
- 1 dimenziós tömb vagy lineáris tömb (Példa: a[1],a[2],a[3]..,a[n] )
- Többdimenziós tömb
- 2D tömb vagy mátrix (Példa: [a[0][0],a0[0][1]..a[m][n])
- 3D tömb (Példa: a[4][4][4])
- ND Array
A tömb időbeli összetettsége
Művelet | Átl. eset | Legrosszabb esetben |
---|---|---|
Hozzáférési műveletek | O (1) | O (1) |
Kutató | O (n) | O (n) |
Ops beszúrása | O (n) | O (n) |
Ops törlése | O (n) | O (n) |
Most megvitatjuk, hogyan deklarálhatjuk a tömböt Java, Python és C nyelven
Hogyan deklaráljunk tömböket Java-ban
A lineáris vagy egydimenziós tömb deklarálásához kövesse az alábbi folyamatot.
/A tömb deklarálásához String[] name; //Az érték deklarálása és hozzárendelése String[] name={"Paul","Adam","Fatima","Ricky"}; //Egész tömb létrehozásához a meghatározott adattípusnak egész számnak kell lennie. Lásd alább: int[] num={10,15,20,30,35,40}; //A tömb dinamikus deklarálása int[] num=new int[10]; //Érték hozzárendelése bármely indexhez num[0]=10; szám[1]=20;
Hogyan deklaráljunk tömböket Pythonban
#Az érték deklarálásához és hozzárendeléséhez name=["Paul","Adam","Fatima","Ricky"] #Bármilyen érték megadásához név[0]="XYZ"
Hogyan deklaráljunk tömböket C-ben
//Érték deklarálásához és hozzárendeléséhez int num[5]={0,5,11,16,21};
Most megvitatjuk, hogyan lehet elérni a tömbelemeket Java, python és C nyelven
Hogyan lehet elérni az Arrays elemet Java-ban
//Az érték deklarálása és hozzárendelése String[] name={"Paul","Adam","Fatima","Ricky"}; //A tömbelem eléréséhez System.out.println(név[0]);
Hogyan lehet elérni az Arrays elemet a Pythonban
#Az érték deklarálása és hozzárendelése name=["Paul","Adam","Fatima","Ricky"] #A var=name érték elérése[0]
Hogyan lehet elérni az Arrays elemet C-ben
//Érték deklarálásához és hozzárendeléséhez int num[5]={0,5,11,16,21}; //Az érték eléréséhez printf("%d\n", értékek[0]);
Most megvitatjuk, hogyan kell használni a tömbhosszt Java, python és C nyelven
Az Arrays Length használata Java nyelven
String[] name={"Paul","Ádám","Fatima","Ricky"}; //a hossz lekéréséhez int size=name.length; System.out.printn(size);
A tömbök hosszának használata Pythonban
#Az érték deklarálásához és hozzárendeléséhez name=["Paul","Adam","Fatima","Ricky"] size= len(name)
A tömbök hosszának használata C-ben
//Érték deklarálásához és hozzárendeléséhez int num[5]={0,5,11,16,21}; printf("Int tömb mérete:%d \n",sizeof(szám)/sizeof(num[0]));
Most megvitatjuk, hogyan lehet hurkolni a tömbben Java, python és C nyelven
Hogyan használjunk hurkot a tömbben Java nyelven
public static void main(String[] args){ int[] num=new int[10]; //Az érték deklarálása és hozzárendelése String[] name={"Paul","Adam","Fatima","Ricky"}; System.out.println(név[0]); //for ciklus for(int i=0;i
A hurok használata a tömbben a Pythonban
name=["Paul","Adam","Fatima","Ricky"] for i in name : print(i)
Hogyan használjunk hurkot a tömbben C-ben
#beleértve int main() { //Érték deklarálása és hozzárendelése int num[5]={10,16,21,26,31}; for(int i=0;i<5;i++){ printf("%u\n", num[i]); } return 0; }
Néhány fontos Array interjúkérdés
Qn 1: Meg tudjuk változtatni a tömb méretét Java-ban?
Válasz: Nem, nem tudjuk megváltoztatni a tömb méretét. A létrehozás után a tömb mérete rögzített. Ha módosítani kell a méretet, akkor az ArrayList-et kell használnia.
Qn 2. Mi az ArrayStoreExcpetion?
Válasz: A tömb hasonló adattípust tárol. Ha megpróbálunk valamilyen más adattípust tárolni egy tömbben, az kivételt ad "ArrayStoreExcpetion." Például:
public static void main(String[] args){ int[] num=new int[5]; szám[0]=12.5;//Fordítási idő Kivétel } public static void main(String[] args){ Object[] num=new String[5]; //szám[0]=12.5;//Fordítási idő Kivétel száma[1]=új Double(12.5); //Runtime Exception java.lang.ArrayStoreException: java.lang.Double }
Qn 3. mi az az ArrayIndexOutOfBoundsException?
Válasz: ArrayIndexOutOfBoundsException akkor jön, ha a felhasználók olyan tömbindexhez próbálnak hozzáférni, amely negatív vagy nagyobb, mint a tömb. Ha az Array index 0-val kezdődik, és a méret a hossz, akkor minden 0-nál kisebb és 1-nél nagyobb érték ArrayIndexOutOfBoundsException kivételt ad.
Qn 4. Mi a különbség az ArrayStoreExcpetion és az ArrayIndexOutOfBoundsException között?
Válasz: Mindkét kivétel futásidőben dob. ArrayStoreExcpetion akkor dob, ha az adattípus nem egyezik a tömb adattípusával, míg az ArrayIndexOutOfBoundsException dob, ha az index elérése nincs a tartományban.
Qn 5. Hogyan inicializáljunk egy tömböt a tömbmérettel Java nyelven?
Válasz:
int[] num=new int[5];//5 a tömb mérete
Qn 6. Hogyan inicializáljunk egy tömböt előre meghatározott értékkel?
Válasz:
int[] szám={0,5,11,16,21};
Qn 7. Hogyan rendezzünk egy tömböt Java nyelven?
Válasz: Az Arrays előre meghatározott metódusának használata Arrays.sort(), rendezhetjük a tömböt.
public static void main(String[] args){ int[] num={0,5,11,16,21}; Arrays.sort(num); for(int i=0;i
Qn 8. Hogyan lehet egy tömböt karakterláncsá alakítani?
Válasz: Az Arrays előre meghatározott metódusának használata Arrays.toString(), rendezhetjük a Tömböt.
public static void main(String[] args){ int[] num={0,5,11,16,21}; System.out.print(Arrays.toString(szám)); }
Qn 9. Hogyan másoljunk egy tömböt?
Válasz: Használ System.arrayCopy(), a felhasználók másolhatják a tömböt. Ellenkező esetben manuálisan másolhatja a tömb elemeit iterálva.
Qn 10. Használható-e a Generics egy tömbben?
Ans. Nem, nem használhatjuk a Generics-t az Array-vel.
Qn 12. Mik a hátrányai egy tömbnek?
Válasz:
- A tömb mérete statikus, az inicializálás után nem változtatható meg.
- Az olyan műveleteket, mint a beillesztés és a törlés, nehéz végrehajtani a tömbben.
- Ha a felhasználó a szükségesnél több memóriát határoz meg, a felesleges memória elveszik.
- A tömbben használt adattípusnak meg kell egyeznie. Például ha használjuk int adattípusként nem tudjuk tárolni úszó, String ugyanabban a tömbben. Mindig annak kell lennie int csak.
Következtetés
Eddig az alapokat ismertettük tömbök. A következő témakörben az Array néhány fontos problémájáról és megoldásáról írunk. Az adatstruktúrákról szóló teljes oktatóanyagunk megtekintéséhez kattintson erre link. A szakasz további részleteiért kérjük, tekintse meg ezt link.