Data Structures 面接の質問と回答
質問 21. What is placement new?
When you want to call a constructor directly, you use the placement new. Sometimes you have some raw memory that?s already been allocated, and you need to construct an object in the memory you have. Operator new?s special version placement new allows you to do it.
class Widget
{
public :
Widget(int widgetsize);
?
Widget* Construct_widget_int_buffer(void *buffer,int widgetsize)
{
return new(buffer) Widget(widgetsize);
}
};
This function returns a pointer to a Widget object that?s constructed within the buffer passed to the function. Such a function might be useful for applications using shared memory or memory-mapped I/O, because objects in such applications must be placed at specific addresses or in memory allocated by special routines.
質問 22. List out the areas in which data structures are applied extensively ?
Compiler Design, Operating System, Database Management System, Statistical analysis package, Numerical Analysis, Graphics, Artificial Intelligence, Simulation
質問 23. Tell how to check whether a linked list is circular ?
Create two pointers, each set to the start of the list. Update each as follows:
while (pointer1)
{
pointer1 = pointer1->next;
pointer2 = pointer2->next; if (pointer2) pointer2=pointer2->next;
if (pointer1 == pointer2)
? ? ? ? ? ? {
print (?circularn?);
}
}
質問 24. What is the difference between ARRAY and STACK?
STACK follows LIFO. Thus the item that is first entered would be the last removed.
In array the items can be entered or removed in any order. Basically each member access is done using index. No strict order is to be followed here to remove a particular element.
質問 25. What is the difference between NULL AND VOID pointer?
NULL can be value for pointer type variables.
VOID is a type identifier which has not size.
NULL and void are not same. Example: void* ptr = NULL;
ユーザー評価で最も役立つ内容:
- What is data structure?
- List out the areas in which data structures are applied extensively?
- What is the data structures used to perform recursion?
- If you are using C language to implement the heterogeneous linked list, what pointer type will you use?
- What are the methods available in storing sequential files ?