// 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; }
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); } }
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; }
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; }