### Program 288: Odd Even Sorting in C

Program 288: Odd Even Sorting in C

```#include<stdio.h>
main()
{
int i,flag,temp,size;
printf("Enter number of elements in array\n");
scanf("%d",&size);
int a[size];
printf("Enter Elements of Array for Odd Even Sort\n");
for(i=0;i<size;i++)
{
scanf("%d",&a[i]);
}
do{
flag=0;
//For Even Sort
for(i=0;i<size-1;i+=2)
{
//Swapping
if(a[i]>a[i+1])
{
temp=a[i];
a[i]=a[i+1];
a[i+1]=temp;
flag=1;
}
}
//For Odd Sort
for(i=1;i<size-1;i+=2)
{
//Swapping
if(a[i]>a[i+1])
{
temp=a[i];
a[i]=a[i+1];
a[i+1]=temp;
flag=1;
}
}
}while(flag);

printf("Array after Sorting\n");
for(i=0;i<size;i++)
{
printf("%d ",a[i]);
}
printf("\n");
}```
Odd Even Sort for Step by Step Execution output
```#include<stdio.h>
void printArray(int a[],int size);
main()
{
int i,flag,temp,size,count=0,even,odd;
printf("Enter number of elements in array\n");
scanf("%d",&size);
int a[size];
printf("Enter Elements of Array for Odd Even Sort\n");
for(i=0;i<size;i++)
{
scanf("%d",&a[i]);
}
do{
flag=0;
count++;
even=0;
odd=0;
//For Odd Sort
for(i=1;i<size-1;i+=2)
{
//Swapping
if(a[i]>a[i+1])
{
temp=a[i];
a[i]=a[i+1];
a[i+1]=temp;
flag=1;
odd=1;
}
}
if(odd==1)
{
printf("%d.Array after Odd Sort\n",count);
printArray(a,size);
}

//For Even Sort
for(i=0;i<size-1;i+=2)
{
//Swapping
if(a[i]>a[i+1])
{
temp=a[i];
a[i]=a[i+1];
a[i+1]=temp;
flag=1;
even=1;
}
}
if(even==1)
{
printf("%d.Array after Even Sort\n",count);
printArray(a,size);
}

}while(flag);

printf("\nArray after Final Sorting\n");
printArray(a,size);
printf("\n");
}

void printArray(int a[],int size)
{
int i;
for(i=0;i<size;i++)
{
printf("%d ",a[i]);
}
printf("\n");
}
```
Explanation:

Algorithm Explanation

Output:

 Odd Even Sort

 Odd Even Sort for Step by Step Execution output

 Odd Even Sort for Step by Step Execution output

 Donate Buy me a coffee \$2.00 USD Buy me a burger \$5.00 USD Buy me a pizza \$10.00 USD
 Compiler Used by me C-Free 5.0(Recommended) Other Compilers Code Blocks(Recommended) Online Compilers Ideone(Remember to give input before executing online where ever necessary)