int main(){

int choice,element,index;

choice = 0;
while(choice){
	printf("\nWhat would you like to do? ");
	printf("\n1. Insert.");
	printf("\n2. delete");
	printf("\n3. print");
	printf("\n4. search");
	printf("\n5. delete at index");
	printf("\n6. delete key");
	printf("\n0. Exit.");

	scanf("%d",&choice);
	switch(choice){
		case 1:	printf("Enter Element: ");
			scanf("%d",&element);
			insertElement(element);
			break;
		case 2:	printf("Delete Element: ");
			deleteFirst();
			break;
		case 3: printList();
			break;
		case 4:
			printf("Enter Element: ");
			scanf("%d",&element);
			index = searchForIndex(element);
			if(index == lengthOfList()){
				printf("\nElement not found");
			}
			else 
				printf("%d",index);
			break;
		case 5: printf("Enter Element: ");
			scanf("%d",&element);
			deleteElementAtIndex(element);
		case 6: printf("Enter Element: ");
			scanf("%d",&element);
			deleteElement(element);
		case 0: break;
	}
}	
	/// Test Case 1. removing duplicates from searching.
	if(0) {
		insertElement(4);
		insertElement(4);
		insertElement(2);
		insertElement(2);
		insertElement(2);
		printList();
		removeDuplicates_Searching();
		printList();
	}
	// test case 2. For removing kth from the last element.
	
	if(1) {
		insertElement(10);
		insertElement(20);
		insertElement(30);
		insertElement(40);
		insertElement(50);
		printList();
		removeKthFromLast(-1);
		printList();
	}

return 0;
}
Beispiel #2
0
extern void LSQ_DeleteRearElement(LSQ_HandleT handle)
{
	if(handle == LSQ_HandleInvalid) return;
	deleteElementAtIndex(handle, ((ArrayPointerT)handle)->count - 1);
}
Beispiel #3
0
extern void LSQ_DeleteGivenElement(LSQ_IteratorT iterator)
{	
	ArrayIteratorPointerT it = ((ArrayIteratorPointerT)iterator);
	if(it == NULL || it->type != DEREFERENCABLE) return;
	deleteElementAtIndex(it->container, it->index);
}
Beispiel #4
0
extern void LSQ_DeleteFrontElement(LSQ_HandleT handle)
{
	deleteElementAtIndex(handle, 0);
}