Предыдущий пост -
Следующий пост -

Шаблон qsort()

Рубрика: C++, Дата: 5 April, 2013, Автор:
Tags:

Реализуйте шаблон qsort().

🙂 Что такое qsort() я даже не знаю мб это противоположная функция сорт?.

Да господа не весело. Для того чтобы написать шаблон qsort() нужно хорошо знать, что такое сама функция qsort(), а этого как раз я не знаю придется искать. Вот здесь по ссылке я опишу функцию qsort() http://www.kselax.ru/2013/04/funkciya-qsort/  . Постараюсь более детально описать.

Ничего я не хочу парится поэтому просто напишем шаблон для qsort() на готовой функции qsort() как бы вложеный.

Короче отакой код получился: файл main.cpp:

#include <cstdlib>
using std::qsort;
using std::rand;
#include <iostream>
using std::cout;
using std::endl;

int F(const void* l, const void* r)
{
	return (*(int*)l - *(int*)r);
}

template<typename T>
void qsort(T a[], int size)
{
	qsort(a,size,sizeof(T),F);
}

int main()
{
	int a[20];//cozdaem macciv

	for(int i = 0; i < 20; i++) {
		a[i] = rand()%100;
		std::cout << a[i] << ' ';
	}

	std::cout << std::endl << std::endl;

	qsort(a, 20, sizeof(int),F);

	for(int i = 0; i < 20; i++)
		std::cout << a[i] << ' ';

	std::cout << std::endl;
	
	//proverka wablonoi fynkcii
	cout <<"proverka wablonoii fynkcii"<<endl;
	int b[20];
	for(int i=0;i<20;i++)
	{
		b[i]=rand()%100;
		cout <<b[i]<<' ';
	}
	cout <<endl;
	qsort<int>(b,20);
	
	for(int i=0;i<20;i++)
		cout <<b[i]<<' ';
	cout <<endl;
	
	return 0;
}

Как видно не стал я парится и раздумывать как лучше сделать.

[youtube]http://www.youtube.com/watch?v=pExUpsAqxSw[/youtube]

rss