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; }
extern void LSQ_DeleteRearElement(LSQ_HandleT handle) { if(handle == LSQ_HandleInvalid) return; deleteElementAtIndex(handle, ((ArrayPointerT)handle)->count - 1); }
extern void LSQ_DeleteGivenElement(LSQ_IteratorT iterator) { ArrayIteratorPointerT it = ((ArrayIteratorPointerT)iterator); if(it == NULL || it->type != DEREFERENCABLE) return; deleteElementAtIndex(it->container, it->index); }
extern void LSQ_DeleteFrontElement(LSQ_HandleT handle) { deleteElementAtIndex(handle, 0); }