コード例 #1
0
ファイル: list.cpp プロジェクト: colm-mchugh/calcit
// Remove first node that contains the given data 
void *removeIfExists(List* list, void* data) {
	ListNode *element = list->head;
	while ((element != NULL) && (element->data != data)) {
		element = element->next;
	}
	if (element != NULL) {
		data = unlinkElement(list, element);
	}
	return data;
}
コード例 #2
0
ファイル: list.cpp プロジェクト: colm-mchugh/calcit
// remove element at index (0-indexed)
void *removeElement(List *list, int index) {
	void *data = NULL;
	if (index >= list->num_nodes) {
		return data;
	}
	ListNode *element = NULL;
	int i = 0;
	element = list->head;
	while (i++ < index) {
		element = element->next;
	}
	data = unlinkElement(list, element);
	return data;
}
コード例 #3
0
ファイル: queue.c プロジェクト: MarkMielke/brltty
void
deleteElement (Element *element) {
  unlinkElement(element);
  discardElement(element);
}
コード例 #4
0
ファイル: queue.c プロジェクト: Moeryn/bmc
void
requeueElement (Element *element) {
  unlinkElement(element);
  enqueueElement(element);
}