SCS 200
Data Structures and
Algorithms
Data Structure Operations
09/09/2023 20:36 [Link].
Insertion Operation
◼ Insert operation is to insert one or more data elements
into an array.
◼ Based on the requirement, a new element can be
added at the beginning, end, or any given index of
array.
◼ Here, we see a practical implementation of insertion
operation, where we add data at the end of the array
Algorithm
◼ Let LA be a Linear Array (unordered) with N elements
and K is a positive integer such that K<=N. Following
is the algorithm where ITEM is inserted into the Kth
position of LA
09/09/2023 20:36 [Link].
Insertion Operation cont’d
1. Start
2. Set J = N
3. Set N = N+1
4. Repeat steps 5 and 6 while J >= K
5. Set LA[J+1] = LA[J]
6. Set J = J-1
7. Set LA[K] = ITEM
8. Stop
09/09/2023 20:36 [Link].
Insertion Operation cont’d
#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] );
}} 09/09/2023 20:36 [Link].
Insertion Operation cont’d
Output
09/09/2023 20:36 [Link].
Deletion Operation
◼ Deletion refers to removing an existing element from the array
and re-organizing all elements of an array.
Algorithm
◼ 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
09/09/2023 20:36 [Link].
Deletion Operation – cont’d
#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] );
}} 09/09/2023 20:36 [Link].
Search Operation
◼ You can perform a search for an array element
based on its value or its index.
Algorithm
◼ Consider LA is a linear array with N elements and
K is a positive integer such that K<=N.
◼ Following is the algorithm to find an element with
a value of ITEM using sequential search.
09/09/2023 20:36 [Link].
Search Operation cont’d
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
09/09/2023 20:36 [Link].
Search Operation cont’d
#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); }
09/09/2023 20:36 [Link].
Search Operation cont’d
output
09/09/2023 20:36 [Link].
Update Operation
Update operation refers to updating an existing element
from the array at a given index.
Algorithm
Consider LA is a linear array with N elements and K is a
positive integer such that K<=N.
Following is the algorithm to update an element available
at the Kth position of LA
1. Start
2. Set LA[K-1] = ITEM
3. Stop
09/09/2023 20:36 [Link].
Update Operation cont’d
Following is the implementation of the algorithm
#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] );
}} 09/09/2023 20:36 [Link].
Update Operation cont’d
output
09/09/2023 20:36 [Link].