Struktury danych i algorytmy - tablice

Tablica to kontener, który może pomieścić ustaloną liczbę elementów, które powinny być tego samego typu. Większość struktur danych wykorzystuje tablice do implementacji swoich algorytmów. Poniżej znajdują się ważne terminy, aby zrozumieć koncepcję Array.

  • Element - Każdy element przechowywany w tablicy nazywany jest elementem.

  • Index - Każda lokalizacja elementu w tablicy ma indeks numeryczny, który służy do identyfikacji elementu.

Reprezentacja tablicy

Tablice można deklarować na różne sposoby w różnych językach. Na przykład weźmy deklarację tablicy C.

Tablice można deklarować na różne sposoby w różnych językach. Na przykład weźmy deklarację tablicy C.

Zgodnie z powyższą ilustracją, należy wziąć pod uwagę następujące ważne kwestie.

  • Indeks zaczyna się od 0.

  • Długość tablicy wynosi 10, co oznacza, że ​​może pomieścić 10 elementów.

  • Dostęp do każdego elementu można uzyskać poprzez jego indeks. Na przykład możemy pobrać element o indeksie 6 jako 9.

Podstawowe operacje

Poniżej przedstawiono podstawowe operacje obsługiwane przez tablicę.

  • Traverse - wypisuje wszystkie elementy tablicy jeden po drugim.

  • Insertion - dodaje element pod podanym indeksem.

  • Deletion - usuwa element pod podanym indeksem.

  • Search - Przeszukuje element przy użyciu podanego indeksu lub wartości.

  • Update - Aktualizuje element w podanym indeksie.

W języku C, gdy tablica jest inicjalizowana z rozmiarem, przypisuje wartości domyślne do swoich elementów w następującej kolejności.

Typ danych Domyślna wartość
bool fałszywy
zwęglać 0
int 0
pływak 0.0
podwójnie 0.0f
unieważnić
wchar_t 0

Operacja trawersu

Ta operacja polega na przechodzeniu przez elementy tablicy.

Przykład

Następujący program przechodzi i wyświetla elementy tablicy:

#include <stdio.h>
main() {
   int LA[] = {1,3,5,7,8};
   int item = 10, k = 3, n = 5;
   int i = 0, j = n;   
   printf("The original array elements are :\n");
   for(i = 0; i<n; i++) {
      printf("LA[%d] = %d \n", i, LA[i]);
   }
}

Kiedy kompilujemy i wykonujemy powyższy program, daje on następujący wynik -

Wynik

The original array elements are :
LA[0] = 1 
LA[1] = 3 
LA[2] = 5 
LA[3] = 7 
LA[4] = 8

Operacja wstawiania

Operacja wstawiania polega na wstawieniu jednego lub więcej elementów danych do tablicy. W zależności od wymagań można dodać nowy element na początku, na końcu lub w dowolnym indeksie tablicy.

Tutaj widzimy praktyczną implementację operacji wstawiania, w której dodajemy dane na końcu tablicy -

Przykład

Poniżej przedstawiono implementację powyższego algorytmu -

#include <stdio.h>

main() {
   int LA[] = {1,3,5,7,8};
   int item = 10, k = 3, n = 5;
   int i = 0, j = n;
   
   printf("The original array elements are :\n");

   for(i = 0; i<n; i++) {
      printf("LA[%d] = %d \n", i, LA[i]);
   }

   n = n + 1;
	
   while( j >= k) {
      LA[j+1] = LA[j];
      j = j - 1;
   }

   LA[k] = item;

   printf("The array elements after insertion :\n");

   for(i = 0; i<n; i++) {
      printf("LA[%d] = %d \n", i, LA[i]);
   }
}

Kiedy kompilujemy i wykonujemy powyższy program, daje on następujący wynik -

Wynik

The original array elements are :
LA[0] = 1 
LA[1] = 3 
LA[2] = 5 
LA[3] = 7 
LA[4] = 8 
The array elements after insertion :
LA[0] = 1 
LA[1] = 3 
LA[2] = 5 
LA[3] = 10 
LA[4] = 7 
LA[5] = 8

Aby zobaczyć inne warianty operacji wstawiania tablicy, kliknij tutaj

Operacja usunięcia

Usunięcie oznacza usunięcie istniejącego elementu z tablicy i reorganizację wszystkich elementów tablicy.

Algorytm

Rozważać LA jest tablicą liniową zawierającą N elementy i K jest dodatnią liczbą całkowitą, taką że K<=N. Poniżej znajduje się algorytm usuwania elementu dostępnego na K- tej pozycji LA.

1. Start
2. Set J = K
3. Repeat steps 4 and 5 while J < N
4. Set LA[J] = LA[J + 1]
5. Set J = J+1
6. Set N = N-1
7. Stop

Przykład

Poniżej przedstawiono implementację powyższego algorytmu -

#include <stdio.h>

void main() {
   int LA[] = {1,3,5,7,8};
   int k = 3, n = 5;
   int i, j;
   
   printf("The original array elements are :\n");
	
   for(i = 0; i<n; i++) {
      printf("LA[%d] = %d \n", i, LA[i]);
   }
    
   j = k;
	
   while( j < n) {
      LA[j-1] = LA[j];
      j = j + 1;
   }
	
   n = n -1;
   
   printf("The array elements after deletion :\n");
	
   for(i = 0; i<n; i++) {
      printf("LA[%d] = %d \n", i, LA[i]);
   }
}

Kiedy kompilujemy i wykonujemy powyższy program, daje on następujący wynik -

Wynik

The original array elements are :
LA[0] = 1 
LA[1] = 3 
LA[2] = 5 
LA[3] = 7 
LA[4] = 8 
The array elements after deletion :
LA[0] = 1 
LA[1] = 3 
LA[2] = 7 
LA[3] = 8

Operacja wyszukiwania

Możesz przeprowadzić wyszukiwanie elementu tablicy na podstawie jego wartości lub indeksu.

Algorytm

Rozważać LA jest tablicą liniową zawierającą N elementy i K jest dodatnią liczbą całkowitą, taką że K<=N. Poniżej znajduje się algorytm znajdowania elementu o wartości ITEM przy użyciu wyszukiwania sekwencyjnego.

1. Start
2. Set J = 0
3. Repeat steps 4 and 5 while J < N
4. IF LA[J] is equal ITEM THEN GOTO STEP 6
5. Set J = J +1
6. PRINT J, ITEM
7. Stop

Przykład

Poniżej przedstawiono implementację powyższego algorytmu -

#include <stdio.h>

void main() {
   int LA[] = {1,3,5,7,8};
   int item = 5, n = 5;
   int i = 0, j = 0;
   
   printf("The original array elements are :\n");
	
   for(i = 0; i<n; i++) {
      printf("LA[%d] = %d \n", i, LA[i]);
   }
    
   while( j < n){
      if( LA[j] == item ) {
         break;
      }
		
      j = j + 1;
   }
	
   printf("Found element %d at position %d\n", item, j+1);
}

Kiedy kompilujemy i wykonujemy powyższy program, daje on następujący wynik -

Wynik

The original array elements are :
LA[0] = 1 
LA[1] = 3 
LA[2] = 5 
LA[3] = 7 
LA[4] = 8 
Found element 5 at position 3

Operacja aktualizacji

Operacja Update odnosi się do aktualizacji istniejącego elementu z tablicy o podanym indeksie.

Algorytm

Rozważać LA jest tablicą liniową zawierającą N elementy i K jest dodatnią liczbą całkowitą, taką że K<=N. Poniżej znajduje się algorytm aktualizacji elementu dostępnego na K- tej pozycji LA.

1. Start
2. Set LA[K-1] = ITEM
3. Stop

Przykład

Poniżej przedstawiono implementację powyższego algorytmu -

#include <stdio.h>

void main() {
   int LA[] = {1,3,5,7,8};
   int k = 3, n = 5, item = 10;
   int i, j;
   
   printf("The original array elements are :\n");
	
   for(i = 0; i<n; i++) {
      printf("LA[%d] = %d \n", i, LA[i]);
   }
    
   LA[k-1] = item;

   printf("The array elements after updation :\n");
	
   for(i = 0; i<n; i++) {
      printf("LA[%d] = %d \n", i, LA[i]);
   }
}

Kiedy kompilujemy i wykonujemy powyższy program, daje on następujący wynik -

Wynik

The original array elements are :
LA[0] = 1 
LA[1] = 3 
LA[2] = 5 
LA[3] = 7 
LA[4] = 8 
The array elements after updation :
LA[0] = 1 
LA[1] = 3 
LA[2] = 10 
LA[3] = 7 
LA[4] = 8