正在加载图片...
pc pc->pRight pc->i =i c->j=pb-> Down=NULL;//把暂时没有使用的指针设置为NULL C→> pRight=NULL C tu++ //增加一个结点 pb=pb→> pRight 1//for //处理列链表 for(j=1;j<=C.mu;j++)//对于每一列 pC =C. pCHead[j /当前列链表的头指针 //依次在每一行中,寻找列号为j的结点,若有,加入链表中 for( i=1: i <=C mu: i++) pa=C. pLEad[i];//第i行的头结点 hile( pa & pa->j<j) pa= pa->pRight //取下一个结点 1//while if(pa)//pa非空,说明pa-> 即该行中第j列有非零结点 //把该结点加入到列链表中 pc->pDown =pa pc pc->pDown }//if 1//for i 1//for j return OK MatrixAdd CrossList 4-5画出下列广义表的图形表示和它们的存储表示: (1)D(A(c),B(e),C(a,L(b,c,d)) (2)Jl(J2(J1,a,J3(J1),J3(J1) 【解答】(1)D(A(c),B(e),Ca,l(b,c,d) (2)J(J2J1,a,J3(J1),J3(J1)pc = pc->pRight; pc->i = i; pc->j = pb->j; pc->e = pb->e; pc->pDown = NULL; //把暂时没有使用的指针设置为 NULL pc->pRight = NULL; C.tu++; //增加一个结点 pb = pb->pRight; } }// for //处理列链表 for(j = 1; j <= C.nu; j++) //对于每一列 { pc = C.pCHead[j]; //当前列链表的头指针 //依次在每一行中,寻找列号为 j 的结点,若有,加入链表中。 for( i = 1; i <= C.mu; i++) { pa = C.pRHead[i]; //第 i 行的头结点 while( pa && pa->j < j ) { pa = pa->pRight; //取下一个结点 }//while if ( pa ) // pa 非空,说明 pa->j = j,即该行中第 j 列有非零结点 { //把该结点加入到列链表中 pc->pDown = pa; pc = pc->pDown; }//if }// for i }// for j return OK; }MatrixAdd_CrossList 4-5 画出下列广义表的图形表示和它们的存储表示: (1) D(A(c), B(e), C(a, L(b, c, d))) (2) J1(J2(J1, a, J3(J1)), J3(J1)) 【解答】(1) D(A(c), B(e), C(a, L(b, c, d))) (2) J1(J2(J1, a, J3(J1)), J3(J1))
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有