Skip to content
This repository has been archived by the owner on Apr 1, 2021. It is now read-only.

Update : Data Structures : Arrays #1074

Merged
3 commits merged into from
Jun 2, 2016
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
66 changes: 55 additions & 11 deletions Data-Structure-Arrays.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,50 @@ Internally, `array` is a kind of data structure that can store a fixed-size sequ

`array` consists of contiguous memory locations. The lowest address corresponds to the first element and the highest address to the last element.


## Arrays in C++

C++ provides a data structure, `array`, which stores a fixed-size sequential collection of elements of the same data-type. An `array` is used to store a collection of data, but it is better to think of an `array` as a collection of variables of the same type.

#### Declaration of `array`

```c++
int intarray[10]; // Declares an array of integer type of size 10 with elements having random values. Index ranges from 0 to 9(i.e. size-1).
int intarray[10] = { 0 }; // Declares an array of integer of size 10 with all elements having value 0

// Choose one the two declarations and then move ahead.
```

#### Inserting elements to `array`:

```c++
intarray[0] = 1; // Inserts an integer value of 1 at index 0
intarray[1] = 0; // Inserts an integer value of 0 at index 1
intarray[2] = -1; // Inserts an integer value of -1 at index 2
intarray[3] = 1; // Inserts an integer value of 1 at index 3
```

#### Printing an `array`:

```c++
std::cout << intarray[0] << std::endl; // Returns 1 which is element at index of the array
std::cout << intarray[11] << std::endl; // Would give a a "Garbage" value as there is no element at index 11 of array.
// That memory location is beyond the range of the array.

// To print all the elements of the array
for(int i = 0; i < n; i++)
std::cout << intarray[i] << std::endl;
```

#### Basic operations on `array`:

```c++
std::cout << sizeof(intarray)/sizeof(intarray[0]) << std::endl; // Returns the length of the array i.e. 10.
std::cout << sizeof(intarray[0]) << std::endl; // Returns length in bytes of one array item i.e. 4 as it is an integer
```

:rocket: [Run Code](https://repl.it/CWZE/3)

## Arrays in Python

Python doesn't have a native `array` data structure. An `array` in Python should not be confused with `list`. The major difference between a `list`
Expand All @@ -16,34 +60,34 @@ from array import array
intarray = array('i') # Declares an array of integer type
```

#### Adding elements to `array`:
#### Inserting elements to `array`:

```python
intarray.append(1) # Adds an integer value of 1 to the array
intarray.append(0) # Adds an integer value of 0 to the array
intarray.append(-1) # Adds an integer value of -1 to the array
intarray.append(1) # Again adds an integer value of 1 to the array
intarray.append(1) # Inserts an integer value of 1 to the array
intarray.append(0) # Inserts an integer value of 0 to the array
intarray.append(-1) # Inserts an integer value of -1 to the array
intarray.append(1) # Inserts an integer value of 1 to the array

intarray.append('d') # Would give a TypeError as the array is of integer type.
intarray.append('d') # Would give a TypeError as the array is of integer type.

#Resolve the above error and then move ahead.
```

#### Printing an `array`:
#### Printing an `array`:

```python
print(intarray) # Returns array('i', [1, 4, -1])
print(intarray[0]) # Returns 1 which is the element at index 0 of the array
print(intarray[3]) # Would give IndexError as there is no element at index 3 of array.
print(intarray[3]) # Would give IndexError as there is no element at index 3 of array.

#Resolve the above error and then move ahead.

# To print all the elements of the array
for i in intarray:
print(i)
```

#### Basic operations on `array`:
#### Basic operations on `array`:

```python
len(intarray) # Returns the length of the array i.e. 3
Expand All @@ -52,7 +96,7 @@ intarray.count(1) # Returns the number of occurrences of 1 in the array i.e. 2
intarray.insert(1, 3) # Insert a new item with value x in the array before position i
intarray.remove(1) # Remove the first occurrence of 1 from the array
intarray.reverse() # Reverse the order of the items in the array
intarray.pop(1) # Removes the item with the index 1 from the array and returns it
intarray.pop(1) # Removes the item with the index 1 from the array and returns it
```

:rocket: [Run Code](https://repl.it/CWJB)
Expand Down