Exemplo n.º 1
0
void  main() {

	int a[]= {1, 4, 45, 6, 10, 19};
	int len = sizeof(a)/sizeof(a[0]);

	printf("min len is %d\n", find_smallest(a, len, 51));
}
Exemplo n.º 2
0
int main()
{
	int a[7] = {3, 42, 52, 91, 2, 13, 49};
	int *min;
	min = find_smallest(a, 7);
	printf("the smallest value is: %d", *min);
	return 0;

}
Exemplo n.º 3
0
int find_smallest(int vet[], int h, int n) {
  int menor = h;
  if (h < n - 1) {
    int tail_menor = find_smallest(vet, h + 1, n);
    if (vet[tail_menor] < vet[menor]) {
      return tail_menor;
    }
  }
  return menor;
}
Exemplo n.º 4
0
void selection (int vet[], int h, int n){
  int i, menor, tmp;
  if (h < n - 1) {
     menor = find_smallest(vet, h+1, n);
     if(vet[menor]<vet[h]){          
         tmp=vet[menor];        
         vet[menor]=vet[h];          
         vet[h]=tmp;
     }
     selection(vet, h+1, n);
  }
}
Exemplo n.º 5
0
void prims() {
    int done = 0;

    while(done < num_v) {
        int i, v = find_smallest();
        G[v].in_g = 0; /* Remove smallest from G */
        done++;
        for (i = 0; i < num_v; i++)
            if (G[i].in_g && w[v][i] != 0 && (w[v][i] < G[i].key || G[i].key == 0))
                G[i].key = w[v][i];
    }
}
Exemplo n.º 6
0
int KuhnMunkres::step6()
{
    double minimum = find_smallest();
    for (int row = 0; row < size; ++row) {
        for (int column = 0; column < size; ++column) {
            if (row_covered.at(row))
                grid_[row][column] += minimum;
            if (!column_covered.at(column))
                grid_[row][column] -= minimum;
        }
    }
    return 4;
}
Exemplo n.º 7
0
/*
 * Allocate a block.
 */
void* kmalloc(size_t size)
{
	struct block* b;

	size = ALIGNUP(size) + sizeof(struct block);
	b = find_smallest(size);
	if (!b)
		return NULL;

	split_block(b, size);
	#if defined(DEBUG_MEMORY)
		kprintf("mem: alloc %x+%x\n", b, b->length);
	#endif
	return b+1;
}