вот пример (как раз писал для другого топика)
Код | #include <iostream>
int mas [] = { 1, 2,4,4,3,-6,-4}; // массив для теста int size = sizeof(mas)/sizeof(int*); // размер массива int * end = mas+size;
void swap (int& x, int& y) { int i=x; x=y; y=i; } // обмен значений
void sort (int * begin, int * end) // сортировка { for (int *p =begin+1; p<end; ++p) for (int *p1 =p; p1>begin; --p1) if (*p1 < *(p1-1)) swap (*p1,*(p1-1)); else break; }
void print (const char * text, int* begin, int * end) // тестовый вывод { std::cout << text <<*begin; for (int *p =begin+1; p<end; ++p) std::cout<<", "<<*p; std::cout <<". "<<std::endl; }
int main( void ) {
print ("before sort : ", mas, end); sort (mas, end); print ("after sort : ", mas, end);
std::cout <<std::endl;
system("pause"); }
|
|