counter <= 0;
void Numbers(NODE *tree) {
if (tree) {
counter++;
Numbers(tree->Lsubtree); Numbers(tree->Rsubtree); } }
2、本题的算法思想是:先将A[]中所有元素值在x≤y之间的元素置成一个特殊的
值(如0),并不立即删除它们,然后从最后向前依次扫描,对于该特殊值的元素便移动其后面的元素将其删除,这种算法比每删除一个元素后立即移动其后元素效率要高一些。实现本题功能的过程如下: void Delete( A[], n, x, y )
{
for ( i 1; i ≤ n; i++ )
if ( A[i] ≥ x && A[i] ≤ y ) A[i] 0;
for ( i n; i ≥ 1; i-- ) if ( A[i] == 0 ) {
for ( k j; k ≤(n-1); k++ ) A[k] A[k+1]; n n - 1; } } 3、算法如下:
NODE *CreateLinkList(int n) {
q (NODE *)malloc(sizeof(NODE));
scanf( an );
q -> data an; q -> next NULL;
for (i=n-1; i≥1; i--) {
p (NODE *)malloc(sizeof(NODE));
scanf( ai );
p -> data ai; p -> next q;
q p;
搜索“diyifanwen.net”或“第一范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,第一范文网,提供最新人文社科广西工学院《数据结构与算法》考试试题2010(A)-答案解析最新(18)全文阅读和word下载服务。
相关推荐: