use singly linked lists to implement integers of unlimited size each node of the list should store one digit of the integer you should implement additionsubtractionmultiplicationand exponentiation operations limit exponents to be positive integers what is the asymptotic running time for each of your operationsexpressed in terms of the number of digits for the two operands of each function implement doubly linked lists by storing the sum of the next and prev pointers in single pointer variable as described in example implement city database using unordered lists each database record contains the name of the city ( string of arbitrary lengthand the coordinates of the city expressed as integer and coordinates your database should allow records to be inserteddeleted by name or coordinateand searched by name or coordinate another operation that should be supported is to print all records within given distance of specified point implement the database using an array-based list implementationand then linked list implementation collect running time statistics for each operation in both implementations what are your conclusions about the relative advantages and disadvantages of the two implementationswould storing records on the list in alphabetical order by city name speed any of the operationswould keeping the list in alphabetical order slow any of the operations modify the code of figure to support storing variable-length strings of at most characters the stack array should have type char string is represented by series of characters (one character per stack element)with the length of the string stored in the stack element immediately above the string itselfas illustrated by figure the push operation would store an element requiring storage units in the positions beginning with the current value of top and store the size in the position storage units above top the value of top would then be reset above the newly inserted element the pop operation need only look at the size value stored in position top and then pop off the appropriate number of units you may store the string on the stack in reverse order if you preferprovided that when it is popped from the stackit is returned in its proper order implement collection of freelists for variable-length stringsas described at the end of section for each such freelistyou will need an access function to get it if it existsand implement it if it does not major design consideration is how to organize the collection of freelistswhich are distinguished by the length of the strings essentiallywhat is needed is dictionary of freelistsorganized by string lengths