正在加载图片...
针变量的地址作为参数传递给被调函数,即使用二级指针 5、已知有一个无头结点的单向循环链表,其每个结点中含三个域:pre,data,next,其中data为数 据域,next为指向后继结点的指针域,pre为与next同类型的指针域,但它的值为空(NULL),试编写 算法将此单向循环链表改为双向循环链表,即使pre成为指向前驱结点的指针域。提示:指针变量H 指向首元结点。 参考解答: pede struct Node f ElemType data struct Node *pre, * next void double( Linklist l)/L为指向单向循环链表中任一结点的指针 I LinkList p=L: while(p->next! =L) p->next->pre=p;//使p指向结点的后继结点的前驱指针指向p所指结点 L->pre=p;/L所指结点的前驱结点为p所指结点 6、试以循环链表作稀疏多项式的存储结构,编写求其一阶导数的算法,要求利用原多项式中的结点 空间存放导数多项式,同时释放所有无用结点(系数为0)。 参考解答 typedef struct Node i float coef, index;//coef表示系数, index表示该项的指数 struct Node next 3 Node, *PolyList void derivative(PolyList L) i PolyList p, g=L if(! L)return //若为空链,则退出 p=q->next while(p!=L->next p->coef=p>coef*p-> index;p-> index=p-> index-1;//求p所指项的导数 if(p->coef==0)[ g->next=p->next; free(p): p=q->next: I else[ g=p: p=p->next: 1 7、在线性表的顺序存储中,元素之间的逻辑关系是通过存储位置相临决定的;在线性表的链接 存储中,元素之间的逻辑关系是通过结点的指针域决定的 8、线性表、栈和队列都是线性结构,可以在线性表的_任意位置插入和删除元素:对于栈只 能在一端插入和删除元素,可以进行插入和删除操作的一端叫栈顶_,另一端叫栈底_:对于队列 能插入元素的一端称队尾_’能删除元素的一端称_队头 9、线性表采用链式存储时,其数据元素的存储地址_D A)必须是连续的 B)部分地址必须是连续的 C)一定是不连续的 D)连续与否均可以 10、线性表的链接存储有利于 算 A)插入 B)读表元素C)查找 D)定位 11、线性表是 A)一个无限序列,可以为空B)一个有限序列,不可以为空 C)一个有限序列,可以为空D)一个无限序列,不可以为空3 针变量的地址作为参数传递给被调函数,即使用二级指针。 5、已知有一个无头结点的单向循环链表,其每个结点中含三个域:pre,data,next,其中 data 为数 据域,next 为指向后继结点的指针域,pre 为与 next 同类型的指针域,但它的值为空(NULL),试编写 算法将此单向循环链表改为双向循环链表,即使 pre 成为指向前驱结点的指针域。提示:指针变量 H 指向首元结点。 参考解答: typedef struct Node{ ElemType data; struct Node *pre,*next; }Node,*LinkList; void Double(LinkList L) //L 为指向单向循环链表中任一结点的指针 { LinkList p=L; while(p->next!=L) { p->next->pre=p; //使 p 指向结点的后继结点的前驱指针指向 p 所指结点 p=p->next;} L->pre=p; //L 所指结点的前驱结点为 p 所指结点 } 6、试以循环链表作稀疏多项式的存储结构,编写求其一阶导数的算法,要求利用原多项式中的结点 空间存放导数多项式,同时释放所有无用结点(系数为 0)。 参考解答: typedef struct Node{ float coef, index; //coef 表示系数,index 表示该项的指数 struct Node *next; }Node, *PolyList ; void derivative(PolyList L) { PolyList p,q=L; if(!L) return; //若为空链,则退出 p=q->next; while(p!=L->next) { p->coef=p->coef*p->index; p->index=p->index-1; //求 p 所指项的导数 if(p->coef==0){ q->next=p->next; free(p); p=q->next;} else{ q=p; p=p->next;} } 7、在线性表的顺序存储中,元素之间的逻辑关系是通过 存储位置相临 决定的;在线性表的链接 存储中,元素之间的逻辑关系是通过 结点的指针域 决定的。 8、线性表、栈和队列都是 线性 结构,可以在线性表的 任意 位置插入和删除元素;对于栈只 能在一端插入和删除元素,可以进行插入和删除操作的一端叫 栈顶 ,另一端叫 栈底 ;对于队列 能插入元素的一端称 队尾 ,能删除元素的一端称 队头 。 9、线性表采用链式存储时,其数据元素的存储地址 D 。 A)必须是连续的 B)部分地址必须是连续的 C)一定是不连续的 D)连续与否均可以 10、线性表的链接存储有利于 A 运算。 A)插入 B)读表元素 C)查找 D)定位 11、线性表是 C 。 A)一个无限序列,可以为空 B)一个有限序列,不可以为空 C)一个有限序列,可以为空 D)一个无限序列,不可以为空
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有