Sunteți pe pagina 1din 5

Bubble Sort

void bub(int a[],int n)


{
int i,j,t;
for(i=0;i<n-1;i++)
{
for(j=0;j<n-1-i;j++)
{
if(a[j]>a[j+1])
{
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}
displa(a,n);
}
}
Insertion sort
void ins(int a[],int n)
{
int i,j,t;
for(i=1;i<n;i++)
{
t=a[i];
for(j=i-1;j>=0!!a[j]>t;j--)"#$nl %&'n pr'vious
'l'('nt(a[j]=a[i-1]) is )r'at'r t&an n'*t 'l'('nt(a[i]),p'rfor( t&is loop#"
a[j+1]=a[j];
a[j+1]=t;"#%& j+1 &'r'++ ,onsid'r -rst instan.', j/s valu' %ill
b' -1 at t&' 'nd of it'ration#"
displa(a,n);
}
}
Selection Sort
void s'l'.t(int a[],int n)
{
int i,j,(in,t;
for(i=0;i<n;i++)
{
(in=i;""0ot' t&at it is not a[(in]1
for(j=i+1;j<n;j++)
{
if(a[(in]>a[j])
(in=j;
}
if(i2=(in)
{
t=a[(in];
a[(in]=a[i];
a[i]=t;
}
displa(a,n);
}
}
Shell Sort
void s&'ll(int a[],int n)
{
int 3,i,j,t;
for(3=n"4;3>0;3"=4)
{
for(i=3;i<n;i++)
{
t=a[i];
for(j=i;j>=3!!a[j-3]>t;j-=3)"#5n ,as' t&'r' ar' 6 partitions,
&app'ns %&'n n is odd#"
{
a[j]=a[j-3];
}
a[j]=t;
}
displa(a,n);
}
}
Quick Sort
void 7ui.3(int a[],int n,int l'ft,int ri)&t)
{
int pivot,i,j,t;
if(l'ft<ri)&t)
{
pivot=l'ft;
i=l'ft;""5f i=l'ft+1, t&' pro)ra(s do's not %or3 prop'rl
j=ri)&t;
%&il'(i<j)
{
%&il'((a[i]<=a[pivot])!!(i<ri)&t))""8i*'s i to t&' -rst 'l'('nt
lar)'r t&an pivot((ovin) ri)&t)1
i++;
%&il'((a[j]>a[pivot])!!(j>l'ft))
j--;
if(i<j)
{
t=a[i];
a[i]=a[j];
a[j]=t;
}
displa(a,n);
"#0o% r'start t&' loop %it& i and j 'l'('nts s%app'd,t&is %a
'l'('nts s(all'r t&an pivot
ar' s'nt b'for' t&' pivot and 'l'('nts lar)'r aft'r t&'
pivot1#"
}
t=a[pivot];
a[pivot]=a[j];
a[j]=t;
displa(a,n);
7ui.3(a,n,l'ft,j-1);""9in.' j and pivot ar' s%app'd, l'ft to j-1 is l'ft
partition
7ui.3(a,n,j+1,ri)&t);
}
}
Radix Sort
void radi*(int a[],int n)
{
int (a*=a[0],nop=0,pass,b.[10],bu.3[10][10],i,j,3,r,d=1;
for(i=0;i<n;i++)
{
if((a*<a[i])
(a*=a[i];
}
%&il'((a*>0)
{
(a*"=10;
nop++;""nop=0u(b'r of pass's1
}
for(pass=0;pass<nop;pass++)
{
for(i=0;i<10;i++)"",r'ation of bu.3'ts (i1') initialisin) t&'ir valu's to 01
:lso [i<10] is onl .orr'.t, not [i<n]1
{
b.[i]=0;
for(j=0;j<10;j++)
{
bu.3[i][j]=0;
}
}
for(i=0;i<n;i++)
{
r=(a[i]"d);10;""d=1 in -rst o..ur'n.' of t&' (ain for(.ontrollin)
pass's) loop, d=10 in s'.ond and so on1
bu.3[r][b.[r]]=a[i];
b.[r]++;
}
i=0;
for(j=0;(j<10)!!(i<n);j++)""<&is loop .opi's ba.3 to arra fro(
bu.3'ts(aft'r sortin) on's follo%'d b t'ns pla.' and so on)1
{
for(3=0;3<b.[j];3++)""3<b.[j] d't'r(in's if t&' loop %ill .op
t&at parti.ular 'l'('nt of t&' 4= arra to t&' (ain arra1
{
a[i]=bu.3[j][3];
i++;
}
}
d#=10;
displa(a,n);
}
}
Merge Sort
void part(int arr[],int (in,int (a*)
{
int (id;
if((in<(a*)
{
(id=((in+(a*)"4;
part(arr,(in,(id);
part(arr,(id+1,(a*);
('r)'(arr,(in,(id,(a*);
}
}
void ('r)'(int arr[],int (in,int (id,int (a*)
{
int t(p[60];
int i,j,3,(;
j=(in;
(=(id+1;
for(i=(in; j<=(id !! (<=(a* ; i++)
{
if(arr[j]<=arr[(])
{
t(p[i]=arr[j];
j++;
}
'ls'
{
t(p[i]=arr[(];
(++;
}
}
if(j>(id)
{
for(3=(; 3<=(a*; 3++)
{
t(p[i]=arr[3];
i++;
}
}
'ls'
{
for(3=j; 3<=(id; 3++)
{
t(p[i]=arr[3];
i++;
}
}
for(3=(in; 3<=(a*; 3++)
arr[3]=t(p[3];
}

S-ar putea să vă placă și