在一个应用程序中有如下定义:int a[]={1,2,3,4,5,6,7,8,9,10};,为了打印输出数组a的最后一个元素
A.System.out.println (a[10];
B.System.out.println (a[9]);
C.System.out.println(a[A.length]);
D.System.out.println(a[8]);
A.System.out.println (a[10];
B.System.out.println (a[9]);
C.System.out.println(a[A.length]);
D.System.out.println(a[8]);
A.System.out.println(a[10])
B.System.out.println(a[9])
C.System.out.println(a[8])
D.System.out.println(a[a.length])
字符指针、浮点数指针、以及函数指针这三种
类型的变量哪个占用的内存最大?为什么?
类ClassB 从ClassA 派生,那么ClassA *a =
new ClassB(…); 试问该表达是否合法?为什么?
如 果ClassA 中定义并实现虚函数int
func(void),ClassB中也实现该函数,那么上述变量
a->func()将调用哪个类里面的函数?如果int
func(void)不是虚函数,情况又如何?为什么?
char **p, a[16][8]; 问:p=a是否会导致程序
在以后出现问题?为什么?
如下所述的if else 和switch 语句哪个的效率
高?为什么?
在同一个进程中,一个模块是否可以通过指针
操作破坏其它模块的内存,为什么?
应用程序在运行时的内存包括代码区和数据
区,其中数据区又包括哪些部分?
面试题:在O(1)时间删除链表结点
题目:给定单向链表的头指针和一个结点指针,定义一个函数在O(1)时间删除链表结点。链表结点与函数的定义如下:
struct List Node
{
int m_n Value;
ListNode* m_pNext;
};
void DeleteNode (listNode** plistHead, ListNode* pToBeDeleted);
A.为OrderNumber列设置数据类型为uniqueidentifier
B.为OrderNumber列设置数据类型为int,并为该列设置IDENTITY属性
C.为OrderNumber列设置数据类型为int,创建一个用户定义函数,从表中选出OrderNumber的最大值
D.为OrderNumber列设置数据类型为int,创建一个NextKey表,在表中添加一个NextOrder列,为NextOrder列设置数据类型为int,创建一个存储过程,获取和更新NextKey表的值
面试题:反转链表
题目:定义一个函数,输入一个链表的头结点,反转该链表并输出反转后链表的头结点。链表结点定义如下:
struct List Node
{
int m_n Key;
ListNode+ m_p Next;
};
面试题:二叉树的镜像
题目:请完成一个函数,输入一个二叉数,该函数输出它的镜像。
二叉树结点的定义如下:
struct BinaryTreeNode
{
int m_nValue;
BinaryTreeNode* m_ pleft;
BinaryTreeNode* m_pRight ;
};
面试题:从尾到头打印链表
题目:输入一个链表的头结点,从尾到头反过来打印出每个结点的值。
链表结点定义如下:
struct List Node
{
int m_n Key;
ListNode* m_pNext;
};
面试题:复杂链表的复制
题目:请实现函数ComplexListNode*Clone(ComplexListNode*pHead),复制一个复杂链表中,每个结点除了有一个m_pSibing指向链表中的任意结点或者NULL。结点的C++定义如下:
struct ComplexListNode
{
Int m_nValue;
ComplexListNode* m_pNext;
ComplexListNode* m_pSibling;
};
二叉搜索树与双向链表
题目:输入一棵二叉搜索树,将该二叉树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中的结点指针的指向。比如输入图4.12中左边的二叉搜索树,则输出转换之后的排序双向链表。
二叉树结点的定义如下:
struct BinaryTreeNode
{
int m_ nValue;
BinaryTreeNode* m_pLeft;
BinaryTreeNode* m_pRight;
};
面试题:二叉树中和为某一值的路径
题目:输入一棵二叉树和一个整数,打印出二叉数中结点值的和为输入整数的所有路径。从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。二叉树结点的定义如下:
S truct BinaryTreeNode
{
int m_nValue;
BinaryTreeNode*m_pLeft;
BinaryTreeNode*m_pRight ;
};
面试题:链表中倒数第k个结点
题目:输入一个链表,输出该链表中倒数第k个结点。为了符合大多数人的习惯,本题从1开始计数,即链表的尾结点是倒数第1个结点。例如一个链表有6个结点,从头结点开始它们的值依次是1、2、3、4、5、6。这个链表的倒数第3个结点是值为4的结点。
链表结点定义如下:
struct List Node
{
int m n Value;
ListNode* m_p Next;
};