⇰ SHELL SORT :-
Shell sort is also a type of sorting technique. Shell sort is a highly efficient sorting technique. It is mainly a variation of insertion sort. This technique takes short shifts , avoids large shifts as in insertion sort. This technique uses insertion sort on a large number of elements, first this technique sorts more widely spaced elements then sorts the less widely spaced elements. This spacing is known as gap or intervals.
The shell sort is named after its developer Donald Shell. This sorting technique works by comparing list elements that are seperated by a specific distance called gap, until the element compared with the current gap are in order, and then divides gap and the process contineous. When the gap is reached to 0 and changes are not possible, then the list is sorted.
EXAMPLE :-
⇰ ALGORITHM OF SHELL SORT :-
Shell sort is also a type of sorting technique. Shell sort is a highly efficient sorting technique. It is mainly a variation of insertion sort. This technique takes short shifts , avoids large shifts as in insertion sort. This technique uses insertion sort on a large number of elements, first this technique sorts more widely spaced elements then sorts the less widely spaced elements. This spacing is known as gap or intervals.
The shell sort is named after its developer Donald Shell. This sorting technique works by comparing list elements that are seperated by a specific distance called gap, until the element compared with the current gap are in order, and then divides gap and the process contineous. When the gap is reached to 0 and changes are not possible, then the list is sorted.
EXAMPLE :-
⇰ ALGORITHM OF SHELL SORT :-
Variable Used :- array= list of element,
size= number of element. gap, swap, i, temp= local variables.
Step1 :- Initialize
gap = size/2
Step2 :- Repeat through step6
while ( gap = gap/2)
Step3 :- Initialize
swap = 0
Step4 :- Repeat through step6
while ( swap )
Step5 :- Repeat through step6
for( i= 0, 1, 2,......., i < size-gap)
Step6 :- If array[ i ] > array[ i+gap ]
i> temp = array [ i ]
ii> array[ i ] = array[ i + gap ]
iii> array[ gap + i ] = temp
iv> swap = 1
Step7 :- Exit.
⇰ PROGRAM OF SHELL SORT :-
# include <stdio.h>
# include <conio.h>
void Ssort( int array [ ], int size)
{
int temp, gap, i, swap;
gap= size/2;
do
{
do
{
swap = 0;
for( i=0 ; i< size-gap ; i++)
{
if( array[ i ] > array [ i + gap])
{
temp = array [ i ];
array [ i ] = array [ i + gap ];
array [ i + gap ] = temp;
swap = 1;
}
}
} while ( swap);
} while ( gap=gap/2);
}
void main ( )
{
int value [ 5 ], i;
for ( i=1 ; i<5 ; i++)
{
printf("\n Enter value :- ");
scanf(" %d", & value [i]);
}
Ssort( value , 5);
printf("\n After sorting :-");
for ( i=1 ; i<5 ; i++)
{
printf("\n %d" , value[i] );
}
getch( );
}
Splendid
ReplyDelete