#include <stdio.h>
void scanArr(int arr[], int size)
{
printf("Enter The Array Element : ");
for (int i = 0; i < size; i++)
{
scanf("%d", &arr[i]);
}
}
void printArr(int arr[], int size)
{
printf("\nThe Array is : ");
for (int i = 0; i < size; i++)
{
printf("%d ", arr[i]);
}
printf("\n");
}
void bouble_short(int arr[], int size)
{
int temp;
for (int i = 0; i < size - 1; i++)
{
printf("Pass No : %d ", i + 1);
printArr(arr, size);
for (int j = 0; j < size - 1 - i; j++)
{
if (arr[j] > arr[j + 1])
{
temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
void bouble_short_adaptive(int arr[], int size)
{
int temp;
int isShort = 0;
for (int i = 0; i < size - 1; i++)
{
printf("Pass No : %d ", i + 1);
printArr(arr, size);
for (int j = 0; j < size - 1 - i; j++)
{
isShort = 1;
if (arr[j] > arr[j + 1])
{
temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
isShort = 0;
}
}
if (isShort)
{
return;
}
}
}
int main()
{
int arr[] = {1,16,2,8,10,9};
int size = sizeof(arr) / sizeof(int);
// int arr[100];
// int size;
// printf("Enter The Size of Array : ");
// scanf("%d", &size);
// scanArr(arr, size);
printArr(arr, size);
//bouble_short(arr, size);
//printArr(arr, size);
bouble_short_adaptive(arr, size);
printArr(arr, size);
return 0;
}

0 Comments