I'm writing a function that will sort any STL container, using the bubble-sort algorithm. The program below works, but i'm not sure if it's "Generic" enough? Ant comments is appreciated
!
#include <iostream>
using namespace std;
template <class X, int size>
class MySortClass
{
public:
X arr[size];
void bubble_sort()
{
for (int i=0; i<size-1; i++)
{
for (int j=0; j<size-i-1; j++)
{
if (arr[j]>arr[j+1])
{
X temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
}
void print()
{
for (int i=0; i<size; i++)
{
cout<<arr<<" ";
}
}
};
void main(void)
{
MySortClass<char, 3> mysortclass;
mysortclass.arr[0] = 'a';
mysortclass.arr[1] = 'c';
mysortclass.arr[2] = 'b';
cout<<"Before sort: ";
mysortclass.print();
cout<<endl;
mysortclass.bubble_sort();
cout<<"After sort: ";
mysortclass.print();
}
!
#include <iostream>
using namespace std;
template <class X, int size>
class MySortClass
{
public:
X arr[size];
void bubble_sort()
{
for (int i=0; i<size-1; i++)
{
for (int j=0; j<size-i-1; j++)
{
if (arr[j]>arr[j+1])
{
X temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
}
void print()
{
for (int i=0; i<size; i++)
{
cout<<arr<<" ";
}
}
};
void main(void)
{
MySortClass<char, 3> mysortclass;
mysortclass.arr[0] = 'a';
mysortclass.arr[1] = 'c';
mysortclass.arr[2] = 'b';
cout<<"Before sort: ";
mysortclass.print();
cout<<endl;
mysortclass.bubble_sort();
cout<<"After sort: ";
mysortclass.print();
}
