一、选择题
1、设数据结构B=(D,R),其中
D={a,b,c,d,e,f}
R={(f,A.,(d,B.,(e,D.,(c,e),(a,c)}
该数据结构为______。
A.线性结构 B.循环队列 C.循环链表 D.非线性结构
2、下列叙述中错误的是______。
A.循环队列空的条件是队头指针与队尾指针相同
B.若二叉树没有叶子结点,则为空二叉树
C.带链栈的栈底指针是随栈的操作而动态变化的
D.若带链队列中只有一个元素,则队头指针与队尾指针必定相同
3、某带链栈的初始状态为top=bottom=NULL,经过一系列正常的入栈与退栈操作后,top=bottom=20。该栈中的元素个数为______。
A.1 B ……此处隐藏31186个字…… ; (3)p是指针,只能用p->,不能用p.。
四、程序设计题
43、int i=0,j=0;//循环统计的下标
*a=0;//初始化a字符统计的个数
*c=0;//初始化c字符统计的个数
for(i=0;i<M;i++)//行
{
for(j=0;j<M;j++)//列
{
if(t[i][j]=='A')//字符是a,计数
(*a)++;
if(t[i][j]=='C')//字符是c,计数
(*c)++;
}
}
[解析]
对二维数组的行列分别循环,行优先,查找数组中元素为A或者C,分别对其进行计数。