|
1. How do you write a function that can
reverse a linked-list? (Cisco System)
void reverselist(void)
{
if(head==0)
return;
if(head->next==0)
return;
if(head->next==tail)
{
head->next = 0;
tail->next = head;
}
else
{
node* pre = head;
node* cur = head->next;
node* curnext = cur->next;
head->next = 0;
cur->next = head; for(; curnext!=0; )
{
cur->next = pre;
pre = cur;
cur = curnext;
curnext = curnext->next;
} curnext->next = cur;
}
}
2. What is polymorphism?
Polymorphism is the idea that a base
class can be inherited by several
classes. A base class pointer can point
to its child class and a base class
array can store different child class
objects.
3. How do you find out if a linked-list
has an end? (i.e. the list is not a
cycle)
You can find out by using 2 pointers.
One of them goes 2 nodes each time. The
second one goes at 1 nodes each time. If
there is a cycle, the one that goes 2
nodes each time will eventually meet the
one that goes slower. If that is the
case, then you will know the linked-list
is a cycle.
4. How can you tell what shell you are
running on UNIX system?
You can do the Echo $RANDOM. It will
return a undefined variable if you are
from the C-Shell, just a return prompt
if you are from the Bourne shell, and a
5 digit random numbers if you are from
the Korn shell. You could also do a ps
-l and look for the shell with the
highest PID.
5. What is Boyce Codd Normal form?
A relation schema R is in BCNF with
respect to a set F of functional
dependencies if for all functional
dependencies in F+ of the form a->b,
where a and b is a subset of R, at least
one of the following holds:
a->b is a trivial functional dependency
(b is a subset of a)
a is a superkey for schema R |