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

Commit

Permalink
Implemented suggestions
Browse files Browse the repository at this point in the history
C to C++ in Linked List

C to C++ in Linked List

Update

Update

Update
  • Loading branch information
jainaman224 committed Jun 1, 2016
1 parent ec4bc64 commit 7d3b63e
Show file tree
Hide file tree
Showing 2 changed files with 108 additions and 113 deletions.
120 changes: 63 additions & 57 deletions Data-Structure-Arrays.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,111 +4,117 @@ 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 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`
and an `array` in Python is that a `list` can have different types of values whereas an `array` should have all the values of same type.
## 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`

```python
from array import array
intarray = array('i') # Declares an array of integer type
```cpp

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.

```
#### 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
```cpp
intarray.append('d') # Would give a TypeError as the array is of integer type.
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
#Resolve the above error and then move ahead.
```

#### 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.
```cpp

#Resolve the above error and then move ahead.
std::cout << intarray[0] << std::endl; // Returns 1 which is element at index of the array
std::cout << intarray[11] << std::endl; // A random number is expected, while in reality this is `dangerous`, and is primary cause of crashes as it's accessing a memory location which does not exist.

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

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

#### Basic operations on `array`:

```python
len(intarray) # Returns the length of the array i.e. 3
intarray.itemsize # Returns length in bytes of one array item i.e. 4 as it is an integer
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
```cpp

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/CWJB)
:rocket: [Run Code](https://repl.it/CWZE/3)

[Official Docs](https://docs.python.org/3.5/library/array.html)

## Arrays in C++
## Arrays in Python

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.
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`
and an `array` in Python is that a `list` can have different types of values whereas an `array` should have all the values of same type.

#### Declaration of `array`

```cpp

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
```python

// Choose one the two declarations and then move ahead.
from array import array
intarray = array('i') # Declares an array of integer type

```

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

```cpp
```python

intarray[0] = 1; // Adds an integer value of 1 at index 0
intarray[1] = 0; // Adds an integer value of 0 at index 1
intarray[2] = -1; // Adds an integer value of -1 at index 2
intarray[3] = 1; // Again adds an integer value of 1 at index 3
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[4] = "dd"; // 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.
#Resolve the above error and then move ahead.

```

#### Printing an `array`:

```cpp
```python

std::cout << intarray[0] << '\n'; // Returns 1 which is element at index of the array
std::cout << intarray[11] << '\n'; // Would give a random value as there is no element at index 11 of array.
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.

// To print all the elements of the array
for(int i = 0; i < n; i++)
std::cout << intarray[i] << '\n';
#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`:

```cpp
```python

std::cout << sizeof(intarray)/sizeof(intarray[0]) << '\n'; // Returns the length of the array i.e. 10.
std::cout << sizeof(intarray[0]) << '\n'; // Returns length in bytes of one array item i.e. 4 as it is an integer
len(intarray) # Returns the length of the array i.e. 3
intarray.itemsize # Returns length in bytes of one array item i.e. 4 as it is an integer
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

```

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

[Official Docs](https://docs.python.org/3.5/library/array.html)
Loading

0 comments on commit 7d3b63e

Please sign in to comment.