Exemple #1
0
void sortR(link h, void(*visit)(Item)) {
    if (h!=z) {
        sortR(hl, visit);
        visit(*(h->item));
        sortR(hr, visit);
    }
}
void sortR (link currentLink, void (*visit)(Item)) { 
  if (currentLink == emptyTree) {
    return;
  }
  sortR (currentLink->left, visit);
  visit (currentLink->item); 
  sortR (currentLink->right, visit);
}
Exemple #3
0
static void sortR(link h, void (*visit)(Item))
{
    if(h == z) return;
    /* Chama a função 'visit' para o nó interno e, 
     * após, fazemos o 'sortR' para as outras */
    sortR(h->l, visit);
    visit(h->item);
    sortR(h->r, visit);
}
void sortR(int v[], int l, int r){
    if(r <= l) return;
    uniform_int_distribution<> distr(l, r-1);
    int temp = distr(eng);
    swap(v[temp], v[r]);
    //printf("%d %d %d\n", temp, l, r);
    int mid = partitionR(v, l, r);
    sortR(v, l, mid - 1);
    sortR(v, mid + 1, r);
}
Exemple #5
0
std::size_t Sample_state_filter::unique_samples () const
/* Count number of unique (unequal value) samples in S
 * Implementation requires std::sort on sample column references
 */
{
						// Temporary container to Reference each element in S
	typedef std::vector<ColProxy> SRContainer;
	SRContainer sortR(S.size2());
	std::size_t col_index = 0;
	for (SRContainer::iterator si = sortR.begin(); si != sortR.end(); ++si) {
		(*si).cm = &S; (*si).col = col_index++;
	}
						// Sort the column proxies
	std::sort (sortR.begin(), sortR.end(), ColProxy::less);

						// Count element changes, precond: sortS not empty
	std::size_t u = 1;
	SRContainer::const_iterator ssi = sortR.begin();
	SRContainer::const_iterator ssp = ssi;
	++ssi;
	while (ssi < sortR.end())
	{
		if (ColProxy::less(*ssp, *ssi))
			++u;
		ssp = ssi;
		++ssi;
	}
	return u;
}
Exemple #6
0
void STsort(void (*visit (Item))) { sortR(head, visit); }
Exemple #7
0
static void sortR(link h, void (*visit)(Item)) {
  if (h == z) return;
  sortR(h->l, visit);
  visit(h->item);
  sortR(h->r, visit);
}
Exemple #8
0
void STsort(link head, void(*visit)(Item)) {
    sortR(head, visit);
}
void QuickSortR(int v[], int N)
{
    sortR(v, 0, N-1);
}
Exemple #10
0
void STsort(void (*visit)(const crv::Internal<Item>)) { sortR(head, visit); }
Exemple #11
0
static void sortR(link h, void (*visit)(const crv::Internal<Item>)) {
  if (h == z) return;
  sortR(h->l, visit);
  visit(h->item);
  sortR(h->r, visit);
}
void STsort (void (*visit)(Item)) { 
  sortR (rootNodeLink, visit); 
}