Program 288: Odd Even Sorting in C
Algorithm Explanation
Output:
#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 for Step by Step Execution output |
Odd Even Sort for Step by Step Execution output |