Quantcast
Channel: Forum Pasja Informatyki - Najnowsze pytania bez odpowiedzi
Viewing all articles
Browse latest Browse all 21942

Quick sort problem

$
0
0

Witam. Piszę własnie Quick sorta, przy zastosowaniu algorytmu Horea do wyznaczenia pivota. Niestety program po uruchomieniu zostaje przerwany, z niewiadomego mi powodu. Bardzo proszę Was o pomoc. Sam nie potrafię już znaleźć błędu.

#include <iostream>
#include <algorithm>
#include <vector>

void Quicksort(std::vector<int> & iTabWithDatas, int iFirst, int iLast);
int PartitionHorae(std::vector<int> & iTabWithDatas, int iFirst, int iLast);

int main()
{
	std::vector<int>ae{ 5,3,2,6,7,13,7,4};

	Quicksort(ae, 0, ae.size()-1 );

	for (int i = 0; i < ae.size() ; ++i)
	{
		std::cout << ae[i] << "," ;
	}

	return 0;
}

int PartitionHorae(std::vector<int> & iTabWithDatas, int iFirst, int iLast)
{
	int i = iFirst;
	int iPivot = iTabWithDatas[iFirst];
	int j = iLast;

	while (i <= j)
	{
		while (iTabWithDatas[j] < iPivot)
		{
			--j;
		}

		while (iTabWithDatas[i] > iPivot)
		{
			++i;
		}

		if (i <= j)
		{
			std::swap(iTabWithDatas[i], iTabWithDatas[j]);
			++i;
			--j;
		}
	}
	return j;

}

void Quicksort(std::vector<int> & iTabWithDatas, int iFirst, int iLast)
{
	if (iFirst < iLast)
	{
		int q = PartitionHorae(iTabWithDatas, iFirst, iLast);

		Quicksort(iTabWithDatas, iFirst, q);
		Quicksort(iTabWithDatas, q + 1, iLast);
	}

}

Z góry dziekuje za pomoc.

Pozdrawiam


Viewing all articles
Browse latest Browse all 21942

Trending Articles


TRX Antek AVT - 2310 ver 2,0


Автовишка HAULOTTE HA 16 SPX


POTANIACZ


Zrób Sam - rocznik 1985 [PDF] [PL]


Maxgear opinie


BMW E61 2.5d błąd 43E2 - klapa gasząca a DPF


Eveline ➤ Matowe pomadki Velvet Matt Lipstick 500, 506, 5007


Auta / Cars (2006) PLDUB.BRRip.480p.XviD.AC3-LTN / DUBBING PL


Peugeot 508 problem z elektroniką


AŚ Jelenia Góra