Example #1
0
int main()
{
	LIST *list1, *list2;
	list1=createList(10);
	list2=createList(10);
	int j;
	for(j=0; j<12; j++)
		insertAtHead(list1,j+1);
	printList(list1);

//	for(j=0; j<12; j++)
//		insertAtTail(list2,j+1);
//	printList(list2);

	deleteFromHead(list1);
	deleteFromHead(list1);
	deleteFromHead(list1);
	deleteFromHead(list1);
	printList(list1);
	for(j=0; j<6; j++)
		insertAtTail(list1,99);
	printList(list1);
	printf("\n");
	return 0;
}
Example #2
0
File: main.c Project: f2008700/BITS
int main()
{
	int i,size=15;
	ElementList E;
	Element e1;
	e1.id=2000;
	e1.regstatus=0;
	for(i=0;i<size;i++)
	{
			E[i].id=i;
			E[i].regstatus=(i%3); //0= Success, 1 = Conflict, 2 = Deny
	}
	// R containing All (size number) registered student records
	ListHead ks, kd, kc;
	ks=createList();
	kd=createList();
	kc=createList();	 				
	for (i = 0; i < size; i++) {
		if  (E[i].regstatus == 0) {
	  		insertAtTail (E[i], ks);
		} else if  (E[i].regstatus == 1) {
			insertAtHead (E[i], kc);
		} else {
			insertAtHead (E[i], kd);
		}
	}
	printf("\n\nSUCCESS LIST\n");
	printList(ks);

	printf("\n\nCONFLICT LIST\n");
	printList(kc);

	printf("\n\nDENY LIST\n");
	printList(kd);


	deleteFromHead(ks);
	deleteFromTail(kc);
	deleteFromHead(kd);

	printf("\n\nSUCCESS LIST After Deletion\n");
	printList(ks);

	printf("\n\nCONFLICT LIST After Deletion\n");
	printList(kc);

	printf("\n\nDENY LIST After Deletion\n");
	printList(kd);
	

}
void DoubleLinkedList<datType>::deleteAtPosition(int position)
{
	if (_size == 0)
	{
		cout << "(DoubleLinkedList) List is Empty" << endl;
		return;
	}

	if (position > _size)
	{
		cout << "(DoubleLinkedList) Invalid Position " << endl;
		return;
	}

	//If position == size means delete at the tail
	if (position == _size) 
	{
		deleteFromTail();
		return;
	}
	
	//If the size is 1 and the position is also 1 just clear the list
	if (position == 1)
	{
		deleteFromHead();
		return;
	}

	int currentPosition = 1;
	
	dlNode<datType> *iterator = head;

	while (iterator->nextNode != NULL && currentPosition < position)
	{
		iterator = iterator->nextNode;
		currentPosition++;
	}

	//if we are here we found the position so delete and do assign
	dlNode<datType> *nodeToDelete = iterator;
		
	(iterator->prevNode)->nextNode = nodeToDelete->nextNode;
	(iterator->nextNode)->prevNode = nodeToDelete->prevNode;

	delete nodeToDelete;

	_size--;
}
Example #4
0
int main()
{
	LIST *list1;
	list1=createList(10);
	insertAtHead(list1,1);
	insertAtHead(list1,2);
	printList(list1);

	insertAtTail(list1,2);
	insertAtTail(list1,3);
	insertAtTail(list1,4);
	insertAtTail(list1,5);
	insertAtTail(list1,6);
	insertAtTail(list1,7);
	insertAtTail(list1,8);
	insertAtTail(list1,9);
	insertAtTail(list1,10);
	insertAtTail(list1,11);
	printList(list1);

	int res, j;
	for(j=0; j<12; j++)
	{
		res=deleteFromHead(list1);
		if(res>0)
			printf("\nDeleted:\t%d",res);
	}
	printList(list1);

	for(j=0; j<12; j++)
	{
		insertAtHead(list1,j+1);
	}
	printList(list1);

	for(j=0; j<12; j++)
	{
		insertAtTail(list1,j+1);
	}
	printList(list1);

	printf("\nDeleted:\t%d",deleteFromHead(list1));
	printf("\nDeleted:\t%d",deleteFromHead(list1));
	printf("\nDeleted:\t%d",deleteFromHead(list1));
	printList(list1);
	printf("\nDeleted:\t%d",deleteFromTail(list1));
	printf("\nDeleted:\t%d",deleteFromTail(list1));
	printf("\nDeleted:\t%d",deleteFromTail(list1));
	printList(list1);

	for(j=0; j<12; j++)
	{
		res=deleteFromTail(list1);
		if(res>0)
			printf("\nDeleted:\t%d",res);
	}
	printList(list1);

	for(j=0; j<12; j++)
	{
		insertAtTail(list1,j+1);
	}
	printList(list1);

	printf("\n");
	return 0;
}