Átfogó útmutató a tömbökhöz-DS, Java, C, Python

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

Tömbök Példa
tömbök

Az Array felhasználási módjai

  1. 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.
  2. 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.
  3. Az olyan algoritmusok, mint a keresés, rendezés, tömböt használnak

Tömb tulajdonságai

  1. 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.
  2. Az adatok egy összefüggő memóriahelyen tárolódnak.
  3. Az adatokat az indexük alapján tudjuk lekérni.

A tömb előnyei

  1. 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.
  2. 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

  1. 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.
  2. 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]
  3. N alapú indexelés: Az első elem bármilyen véletlenszerű indexben tárolható.
Tömb memória kiosztása

Tömbök típusai

Főleg kétféle tömb áll rendelkezésre.

A tömb időbeli összetettsége

MűveletÁtl. esetLegrosszabb esetben
Hozzáférési műveletekO (1)O (1)
KutatóO (n)O (n)
Ops beszúrásaO (n)O (n)
Ops törléseO (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:

  1. A tömb mérete statikus, az inicializálás után nem változtatható meg.
  2. Az olyan műveleteket, mint a beillesztés és a törlés, nehéz végrehajtani a tömbben.
  3. Ha a felhasználó a szükségesnél több memóriát határoz meg, a felesleges memória elveszik.
  4. 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.

Lapozzon a lap tetejére