Esempio n. 1
0
// Stack
boolean		model_stack_push(int data)
{
	boolean success = false;
	struct Node* topNode = getTopNode();
	struct Node* newNode = (struct Node*)(malloc(sizeof(struct Node) * 1));

	if (newNode == NULL)
	{
		puts("Failed to make a node...");
	}
	else if (model_stack_empty())
	{
		topNode = newNode;
		topNode->next = NULL;
		topNode->number = data;

		success = true;
	}
	else
	{
		newNode->next = topNode;
		topNode = newNode;

		success = true;
	}

	return success;
}
Esempio n. 2
0
void view_displayStack(void) /* 3 */
{
	puts("Display Stack...");
	struct Node* topNode = getTopNode();
	for (int i = 0; i < model_stack_count(); i++)
	{
		printf("%d\n", topNode);
	}
}
Esempio n. 3
0
std::vector<DecayNode> DecayTree::getLeaves() const {
  std::vector<unsigned int> complete_decendant_list;
  GetVertexDecendants vis(complete_decendant_list, getTopNode());
  boost::depth_first_search(decay_tree_, boost::visitor(vis));

  std::vector<DecayNode> fs_particle_list;
  fs_particle_list.reserve(complete_decendant_list.size());
  for (unsigned int i = 0; i < complete_decendant_list.size(); ++i) {
    fs_particle_list.push_back(decay_tree_[complete_decendant_list[i]]);
  }

  return fs_particle_list;
}
Esempio n. 4
0
boolean			model_stack_pop(int* poppedValue)
{
	struct Node* topNode = getTopNode();
	struct Node* beFreedNode = NULL;
	boolean success = false;

	if (model_stack_empty() && poppedValue != NULL)
	{
		*poppedValue = topNode->number;
		beFreedNode = topNode;
		topNode = topNode->next;
		free(beFreedNode);
		success = true;
	}

	return success;
}