一、选择题
1、下列叙述中正确的是______。
A.算法的空间复杂度与算法所处理的数据存储空间有关
B.算法的空间复杂度是指算法程序控制结构的复杂程度
C.算法的空间复杂度是指算法程序中指令的条数
D.压缩数据存储空间不会降低算法的空间复杂度
2、下列各组排序法中,最坏情况下比较次数相同的是______。
A.希尔排序与堆排序 B.简单插入排序与希尔排序
C.简单选择排序与堆排序 D.冒泡排序与快速排序
3、设栈的存储空间为S(1:50),初始状态为top=51。现经过一系列正常的入栈与退栈操作后,top=20,则栈中的元素个数为______。
A.31 B.30 C.21 D.20
4、某二叉树共有400个节点,其中有100个度为1的节点,则该二叉树 ……此处隐藏36771个字…… sp; {
current_ch=t[i];
if(before_ch!=current_ch-1)
flag=0;
break;
}
before_ch=current_ch;
}
return flag;
}
[解析]
函数fun的功能是判断指针t指向的字符串是否是由连续递增的字母构成,返回值为整数,0代表不满足条件。根据题目要求,字符串长度必须大于等于2,所以首先需要对t指向的字符串进行长度判断,小于2的字符串返回0。接着需要对字符串中的连续字符,逐个进行比较。C语言中字符变量可以当作整数使用,所以当前字符只有是前一个字符的ASCII码+1,才能说明它们是连续递增字母序列,然后比较后一个字符与当前字符的ASCII码,如果字符串中的所有字符都满足条件,则返回1;否则说明该字符串不满足要求,此时设置flag=0,后面的字符也就不需要再比较了,跳出循环返回即可。