Types of Arrays

Arrays can be classified in two ways:

  • On the basis of Memory Allocation
  • On the basis of Dimensions

Types of Arrays on the basis of Memory Allocation:

1. Static Arrays:

In this type of array, memory is allocated at compile time having a fixed size of it. We cannot alter or update the size of this array. This type of memory allocation is also known as static or compile-time memory allocation. Here only a fixed size (i,e. the size that is mentioned in square brackets []) of memory will be allocated for storage. In case, we don’t know the size of the array then if we declare a larger size and store a lesser number of elements will result in a wastage of memory or or we declare a lesser size than the number of elements then we won’t get enough memory to store all the elements. In such cases, static memory allocation is not preferred.

C++
//Static Integer Array
int arr[5] = {1, 2, 3, 4, 5}; 
C
//Static Integer Array
int arr[5] = {1, 2, 3, 4, 5}; 
Java
// Static Array
int[] arr = { 1, 2, 3, 4, 5 };
Python
import array
# Static Array
arr = array.array('i', [1, 2, 3, 4, 5])
C#
// Static array
int[] arr = { 1, 2, 3, 4, 5 };
JavaScript
let arr[] = {1, 2, 3, 4, 5}


2. Dynamic Arrays:

In this type of array, memory is allocated at run time but not having a fixed size. Suppose, a user wants to declare any random size of an array, then we will not use a static array, instead of that a dynamic array is used. This type of memory allocation is also known as dynamic or run-time memory allocation. It is used to specify the size of it during the run time of any program.

C++
// Dynamic Integer Array
int* arr = new int[5];
C
// Dynamic Integer Array
int* arr = malloc(sizeof(int) * 5);
Java
// Dynamic Integer Array
ArrayList<Integer> arr = new ArrayList<>();
Python
# Dynamic Array
arr = []
C#
// Dynamic Integer Array
int[] arr = new int[5];
JavaScript
// Dynamic Array
let arr = new Array(5);  

Types of Arrays on the basis of Dimensions:

1. One-dimensional Array(1-D Array): You can imagine a 1d array as a row, where elements are stored one after another.

2. Multi-dimensional Array: A multi-dimensional array is an array with more than one dimension. We can use multidimensional array to store complex data in the form of tables, etc. We can have 2-D arrays, 3-D arrays, 4-D arrays and so on.

  • Three-Dimensional Array(3-D Array): A 3-D Multidimensional array contains three dimensions, so it can be considered an array of two-dimensional arrays.

Getting Started with Array Data Structure

Array is a collection of items of the same variable type that are stored at contiguous memory locations. It is one of the most popular and simple data structures used in programming. In this article, we have decided to provide a complete guide for Arrays, which will help you to tackle any problem based on Arrays.

Table of Content

  • What is an Array?
  • Basic terminologies of array
  • Memory representation of Array
  • Declaration of Array
  • Initialization of Array
  • Importance of Array
  • Types of arrays
  • Operations on Array
  • Complexity Analysis of Operations on Array
  • Advantages of Array
  • Disadvantages of Array
  • Applications of Array
  • Top theoretical interview questions
  • Frequently Asked Questions (FAQs) on Arrays:

Similar Reads

What is an Array?

Array is a linear data structure that stores a collection of items of same data type in contiguous memory locations. Each item in an array is indexed starting with 0. We can directly access an array element by using its index value....

Basic terminologies of Array

Array Index: In an array, elements are identified by their indexes. Array index starts from 0.Array element: Elements are items stored in an array and can be accessed by their index.Array Length: The length of an array is determined by the number of elements it can contain....

Memory representation of Array

In an array, all the elements are stored in contiguous memory locations. So, if we initialize an array...

Declaration of Array

Arrays can be declared in various ways in different languages. For better illustration, below are some language-specific array declarations:...

Initialization of Array

Arrays can be initialized in different ways in different languages. Below are some language-specific array initializations:...

Importance of Array

Assume there is a class of five students and if we have to keep records of their marks in examination then, we can do this by declaring five variables individual and keeping track of records but what if the number of students becomes very large, it would be challenging to manipulate and maintain the data....

Types of Arrays

Arrays can be classified in two ways:...

Operations on Array

1. Array Traversal:...

Complexity Analysis of Operations on Array

Time Complexity:...

Advantages of Array

Arrays allow random access to elements. This makes accessing elements by position faster.Arrays have better cache locality which makes a pretty big difference in performance.Arrays represent multiple data items of the same type using a single name.Arrays are used to implement the other data structures like linked lists, stacks, queues, trees, graphs, etc....

Disadvantages of Array

As arrays have a fixed size, once the memory is allocated to them, it cannot be increased or decreased, making it impossible to store extra data if required. An array of fixed size is referred to as a static array. Allocating less memory than required to an array leads to loss of data.An array is homogeneous in nature so, a single array cannot store values of different data types. Arrays store data in contiguous memory locations, which makes deletion and insertion very difficult to implement. This problem is overcome by implementing linked lists, which allow elements to be accessed sequentially....

Applications of Array

They are used in the implementation of other data structures such as array lists, heaps, hash tables, vectors, and matrices.Database records are usually implemented as arrays.It is used in lookup tables by computer....

Conclusion

After the discussion, we concluded that arrays are a simple method of accessing elements of the same type by grouping them and we can find the elements efficiently by their indexes and can perform different operations using them. Thus, they are more efficient when it comes to memory allocation and should be used in all modern programming languages. So, this becomes a favorite topic for the perspective of the interview and most of the companies generally asked about the problems on the array. For all these reasons, we must have a good knowledge of it....

Frequently Asked Questions (FAQs) on Arrays

1. What is an array in data structure with example?...

Contact Us