0% found this document useful (0 votes)
5 views

Arrays

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
5 views

Arrays

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 22

CHAPTER#2

ARRAYS
Array
An Array is a structured collection of components,
of same type, that is given a single name.
• Each component (array element) is accessed by an index.
• Each element has unique index or position.
• Array name [element_index]
• Array Elements The items in an array are called array elements.
• int num[3]={1,2,3}
.
• The index of first element is called Lower bound and last is upper bound.
• Index of array starts from 0(Lower bound).
Maximum Number of elements in array:
upperBound-LowerBound+1;
num[3]=2-0+1=3
We can define the indexing of an array in the below ways -
0 (zero-based indexing): The first element of the array will be arr[0].
1 (one-based indexing): The first element of the array will be arr[1].
n (n - based indexing): The first element of the array can reside at any random index number.
NEED OF ARRAY
ARRAYS ARE USEFUL BECAUSE -

• SORTING AND SEARCHING A VALUE IN AN ARRAY IS EASIER.


• ARRAYS ARE BEST TO PROCESS MULTIPLE VALUES QUICKLY AND EASILY.
• ARRAYS ARE GOOD FOR STORING MULTIPLE VALUES IN A SINGLE VARIABLE - IN
COMPUTER PROGRAMMING, MOST CASES REQUIRE STORING A LARGE NUMBER OF
DATA OF A SIMILAR TYPE. TO STORE SUCH AN AMOUNT OF DATA, WE NEED TO
DEFINE A LARGE NUMBER OF VARIABLES. IT WOULD BE VERY DIFFICULT TO
REMEMBER THE NAMES OF ALL THE VARIABLES WHILE WRITING THE PROGRAMS.
INSTEAD OF NAMING ALL THE VARIABLES WITH A DIFFERENT NAME, IT IS BETTER
TO DEFINE AN ARRAY AND STORE ALL THE ELEMENTS INTO IT.
REPRESENTATION OF ARRAY IN MEMORY
• EACH BOX REPRESENTS THE AMOUNT OF MEMORY NEEDED TO HOLD ONE ARRAY
ELEMENT.
• FOR INT THIS IS USUALLY 4 BYTES.
• WE CAN WRITE THE VALUE OF AN ELEMENT INSIDE THE BOX.
• STARTING ADDRESS OF ARRAY IS CALLED BASE ADDRESS.
• WE CAN FIND ANY ELEMENT’S ADDRESS THROUGH BASE ADDRESS
ACCESS AN ELEMENT FROM THE
ARRAY
We required the information given below to access any random element from the array -

BASE ADDRESS OF THE ARRAY.


SIZE OF AN ELEMENT IN BYTES.
TYPE OF INDEXING, ARRAY FOLLOWS.
THE FORMULA TO CALCULATE THE ADDRESS TO ACCESS AN ARRAY ELEMENT -

BYTE ADDRESS OF ELEMENT A[I] = BASE ADDRESS + SIZE * ( I - FIRST INDEX)


ACCESS AN ELEMENT FROM THE ARRAY
BASIC OPERATIONS IN ARRAYS
• TRAVERSE − PRINT ALL THE ARRAY ELEMENTS ONE BY ONE.
• INSERTION − ADDS AN ELEMENT AT THE GIVEN INDEX.
• DELETION − DELETES AN ELEMENT AT THE GIVEN INDEX.
• SEARCH − SEARCHES AN ELEMENT USING THE GIVEN INDEX OR BY THE VALUE.
• UPDATE − UPDATES AN ELEMENT AT THE GIVEN INDEX.
• SORTING – SORTING THE ELEMENTS IN ASCENDING OR DESCENDING ORDER
TRAVERSING AN ARRAY
1. START
2. INITIALIZE COUNTER VARIABLE(INT I) AND I=LOWERBOUND.
3. REPEAT I=LB TO UPPER BOUND BY INCREMENTING I.
4. APPLY PROCESS TO ARRAY[I]
5. END LOOP
6. STOP
EXAMPLE OF TRAVERSE
// writing a program in C++ to perform traverse operation on an array
//lower bound is 0 and upper bound is 4
#include <iostream>
using namespace std;
int main()
{
int i, size=5;
int arr[5]={53, 99, -11, 5, 102}; //declaring and initializing array
cout << "The array elements are: ";
for(i=0 ; i<size ; i++)
cout << "\n" << "arr[" << i << "]= " << arr[i];
return 0;
}
EVEN VALUES ARRAY TRAVERSAL
INT ARR[10], I;
COUT<<"ENTER ANY 10 NUMBERS: ";
FOR(I=0; I<10; I++)
CIN>>ARR[I];
COUT<<"\NEVEN NUMBERS ARE:\N";
FOR(I=0; I<10; I++)
{
IF(ARR[I]%2==0)
COUT<<ARR[I]<<" ";
}
ACTIVITY#1
• CALCULATE SUM OF ELEMENTS OF ARRAY OF SIZE 5?
1. INSERTION AT SPECIFIC POSITION
(ALGORITHM)
1. START
2. J=N-1 (SUCH THAT K<N & K IS INDEX WHERE ELEMENT WILL INSERT)
3. N=N+1
4. REPEAT 5& 6 WHILE J>=K
5. LA[J+1] = LA[J]
6. J=J-1
7. LA[K]=ITEM
8. PRINT LA WITH LOOP
9. END
#include <iostream>
Insertion at specific Position (C++ Code)
using namespace std;
main() {
int LA[] = {1,3,5,7,8};
int item = 10, k = 3, n = 5;
int i = 0, j = n-1;

printf("The original array elements are :\n");

for(i = 0; i<n; i++) {


cout<< i <<"="<<LA[i]<<endl;
}

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++) {


cout<< i <<"="<<LA[i]<<endl;
}
}
2. DELETION ALGORITHM OF ELEMENT FROM ARRAY OF SPECIFIC
LOCATION

Consider LA is a linear array with N elements and K is a positive integer such


that K<=N. Following is the algorithm to delete an element available at the
Kth position of 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
DELETION OF ELEMENT FROM ARRAY OF SPECIFIC LOCATION (C+
#include <iostream>
+ PROGRAM )
using namespace std;
int main() {
int LA[] = {1,3,5,7,8};
int k = 3, n = 5;
int i, j;

cout<<"The original array elements are"<<endl;

for(i = 0; i<n; i++) {


cout<< i <<"=" << LA[i]<<endl;
}

j = k;

while( j < n) {
LA[j] = LA[j+1];
j = j + 1;
}

n = n -1;

cout<<"The array elements after deletion"<<endl;

for(i = 0; i<n; i++) {


cout<< i <<"=" << LA[i]<<endl;
}
}
3. SEARCH ELEMENT FROM ARRAY
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
#include <iostream>
using namespace std;
SEARCH [ C++ CODE ]
main() {
int LA[] = {1,3,5,7,8};
int item = 5, n = 5;
int i = 0, j = 0;

cout<<"The original array elements are:"<<endl;

for(i = 0; i<n; i++) {


cout<<i<<"="<<LA[i]<<endl;
}

while( j < n){


if( LA[j] == item ) {
break;
}

j = j + 1;
}

cout<<"Found element at position="<< j+1 <<" and index="<<j;


}
SEARCH AND UPDATE
ACTIVITY#2

YOU HAVE TO SEARCH A


ELEMENT AND THEN UPDATE IT?
2D-ARRAY
• A MULTI-DIMENSIONAL ARRAY CAN BE TERMED AS AN ARRAY OF ARRAYS THAT
STORES HOMOGENEOUS DATA IN TABULAR FORM. DATA IN MULTIDIMENSIONAL
ARRAYS ARE STORED IN ROW-MAJOR ORDER.

• SIZE OF MULTIDIMENSIONAL ARRAYS:

• THE TOTAL NUMBER OF ELEMENTS THAT CAN BE STORED IN A


MULTIDIMENSIONAL ARRAY CAN BE CALCULATED BY MULTIPLYING THE SIZE OF
ALL THE DIMENSIONS.

• FOR EXAMPLE:

• THE ARRAY INT X[10][20] CAN STORE TOTAL (10*20) = 200 ELEMENTS.
EXAMPLE OF 2D-ARRAY C++
INT ARR[3][2] = {{5, -5},{4, 7}, {9, 17}}; // USE OF NESTED FOR LOOP
// ACCESS ROWS OF THE ARRAY
FOR (INT I = 0; I < 3; ++I) {
// ACCESS COLUMNS OF THE ARRAY
FOR (INT J = 0; J < 2; ++J) {
COUT << “ARR[" << I << "][" << J << "] = " << ARR[I][J] << ENDL;
}
}
TRANSPOSE OF MATRIX
FOR (INT I = 0; I < ROW; ++I)
FOR (INT J = 0; J < COLUMN; ++J) {
TRANSPOSE[J][I] = ARR[I][J];
}
• COMPLEX PROBLEMS WILL BE IN NEXT LECTURE (LIKE BINARY SEARCH, SORTING
ETC.)

You might also like