sorter Template

by Jesterok on December 28th, 2009
No notes
Syntax: C++
Show lines - Hide lines - Show in textbox - Download
#include <cstdlib>
#include <iostream>
using namespace std;
 
template<class T>
class bSort
{
public:
	   bSort(int _max){ 								  //конструктор: распределяем память для массива и устанавливаем начальное значение счетчика
			 array = new T[_max-1]; 
			 max = _max;
			 count = 0; 
 
	   } 
	   ~bSort(){ delete[] array; }				          //деструктор: освобождаем память
 
	   void add_item(T item)
	   {
	   		if(count<max){
			    array[count] = item;
			    count++;
			}
       }
 
       void clear()										 //очищаем массив
       {
	   		array = new T[max-1]; 
			count = 0;
       }
 
       void sort_this()const									//сортировка пузырьком
       {
			T buf;
			for (int i = 0; i<count; i++){
				for (int j = 0; j<count-(i-1); j++){
					if (array[j]>array[j+1]){
					   buf = array[j];
					   array[j] = array[j+1];
					   array[j+1] = buf;
                     }
	   			 }
		   }
	   }
 
	   T &operator[](int index)const				//перегружаем оператор [] (будем использовать для вывода на экран)
	   {
   	        return array[index];
       }
 
private:
		T*	array;	//указатель на тип данных
		int count, max;  //размеренность массива
};
 
 
 
int main()
{
    int n, cur_numb;
    //вводим размеренность массива, и заполняем его
    cin>>n;
    bSort<int> srt(n);
    for(int i = 0; i<n; i++){
			cin>>cur_numb;
			srt.add_item(cur_numb);
    }
    srt.sort_this(); 
    //вывод массива
    for(int i = 0; i<n; i++){
			cout<<srt[i]<<' ';
    }
 
    cin.get();
    cin>>n;
    return 0;
}
 

Leave a Reply

Note: XHTML is allowed. Your email address will never be published.

Subscribe to this comment feed via RSS