Efficient Array Sorting in C++: Static Overloaded Functions for Floats and Integers

This C++ program defines a class ArraySort that contains static member functions for sorting arrays of floats and integers. 
C++


It uses the bubble sort algorithm for sorting. Below is an explanation of the code –
#include<iostream>
#include<string.h>
using namespace std;
class ArraySort
{
    public:
    static void sort_array(float f[5]); 
    static void sort_array(int f[5]); //static member function overloading
    static void swap(float &a,float &b);
    static void swap(int &a,int &b);
};
void ArraySort :: sort_array(float f[5]) //static member function definition
{
    int i,j;
    for(i=0; i<5-1; i++)
{
for(j=0; j<5-1; j++)
    {
        if(f[j] > f[j+1])
        swap(f[j],f[j+1]); //nesting static member function
    }
}
    cout<<"sorted float array is : "<<endl;
    for(i=0; i<5; i++)
    cout<<f[i]<<endl;
}
void ArraySort :: sort_array(int f[5]) //static member function overloading
{
    int i,j;
    for(i=0; i<5-1; i++)
{
for(j=0; j<5-1; j++)
    {
        if(f[j] > f[j+1])
        swap(f[j],f[j+1]); //nesting static member function
    }
}
    cout<<"sorted integer array is : "<<endl;
    for(i=0; i<5; i++)
    cout<<f[i]<<endl;
}
void ArraySort :: swap(float &a,float &b)
{
    float temp = a;
    a = b;
    b = temp;
}
void ArraySort :: swap(int &a,int &b)
{
    int temp = a;
    a = b;
    b = temp;
}
//member functions definition
int main()
{
    ArraySort a1;
    float fary[5];
    cout<<"Enter float array : ";
    int i;
    for(i=0; i<5; i++)
    cin>>fary[i];
    a1.sort_array(fary);
    // static member function calling and passing float array
    //sort_array(float) invoked 
    int ary[5];
    cout<<"Enter Integer array : ";
    for(i=0; i<5; i++)
    cin>>ary[i];
    a1.sort_array(ary);
    // static member function calling and passing int array
    //sort_array(int) invoked 
    return 0;
}

Class Definition

  • The class ArraySort is defined with public static member functions and static member function overloading.
  • Two static member functions are declared for sorting arrays of floats and integers: sort_array(float f[5]) and sort_array(int f[5]).
  • Two static member functions for swapping elements in arrays: swap(float &a, float &b) and swap(int &a, int &b).

Sorting Functions

  • The sort_array(float f[5]) function takes an array of floats and sorts it using the bubble sort algorithm.
  • The sort_array(int f[5]) function takes an array of integers and sorts it using the same bubble sort algorithm.

Swap Function

  • The swap functions are helper functions used for swapping two elements in an array.

Main Function

  • In the main function, an object a1 of the class ArraySort is created.
  • The user is prompted to enter values for a float array (fary) and an integer array (ary).
  • The sort_array static member functions of the ArraySort class are then called with the respective arrays.
  • The sorted arrays are displayed as output.

Explanation of Execution

  • The user inputs values for the float array and integer array.
  • The sort_array functions are invoked to sort the arrays using the bubble sort algorithm.
  • The sorted arrays are then displayed as output.
Next Post Previous Post
No Comment
Add Comment
comment url