void main()

{

	node *head,*tail;

	createList(&head);

	insertAtBeginning(&head,4);

	insertAtBeginning(&head,3);

	insertAtBeginning(&head,2);

	insertAtBeginning(&head,5);

	insertAtBeginning(&head,6);

	insertAtBeginning(&head,10);

	insertAtEnd(&head,1);

    insertInBetween(&head,9,2);

    traverseList(head);

    printf("\n");

    reverseTraversal(head);

    reverseList(&head);

    traverseList(head);

    deleteEnd(&head);

    traverseList(head);

    deleteBeginning(&head);

    traverseList(head);

    deleteAfter(&head,2);

    traverseList(head);

    deleteList(&head);

    traverseList(head);

//	tail= getTail(head);

//	printf("\nTail= %d",tail->info);

}
int main()
{
	int d  , o , i , q = 1 ;
	struct Clist *head = NULL ;

	while(q){
		printf("Enter 1 to insert at the begining\nEnter 2 to insert at the end\nEnter 3 to delete at the begining\nEnter 4 to delete at the end\nEnter 5 to print the list\nEnter 6 to exit");
		scanf("%d" , &o) ;

		switch(o)
		{
			case 1 :
			{
				printf("Enter the data : ");
				scanf("%d" , &d) ;
				insertBegin(&head , d) ;
				break ;
			}

			case 2 :
			{
				printf("Enter the data : ");
				scanf("%d" , &d) ;
				insertEnd(&head , d) ;
				break ;
			}

			case 3 :
			{
				deleteStart(&head) ;
				break ;
			}

			case 4 :
			{
				deleteEnd(&head) ;
				break ;
			}

			case 5 :
			{
				display(head) ;
				break ;
			}
		    
		    case 6 :
		    {
		    	q = 0 ;
		    }
		}	
	}

}