云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 数据结构与算法复习题及参考答案

数据结构与算法复习题及参考答案

  • 62 次阅读
  • 3 次下载
  • 2025/5/2 12:36:50

2016《数据结构域算法》复习题

if(p==NULL){

s=(Node*)malloc(sizeof(Node)); s->data=k; r->next=s; r=s i++; } }

return head; }

7.设H是带表头结点的单向链表的表头指针,将链表中数值重复的结点删除。

答:

LinkList DleReapeatValue(LinkList H){ Node *p=H->next,*q,*s; While(p){ s= p;

q=s->next; while(q){

if(p->data==q->data){

s->next=q->next; free(q); q=s->next;

} s=s->next; q=q->next; } p=p->next; } }

8. 设有一带头结点的单链表,编程将链表颠倒过来。要求不用另外的数组或结点完成。

解:设链表结点的数据类型为: typedef struct Node{

ElemType data; //自定义类型 struct Node *next; }Node;

假定链表的头指针为H,如下的函数实现链表的倒置: void RevLinkList(Node* H){ Node *p=H->next; Node * q=NULL; H->next=NULL; while(p) {

q=p->next; //保存下一个节点的指针

13

2016《数据结构域算法》复习题

p->next=H->next;

H->next=p; //把取出的节点插入到头节点的后面 p=q; } }

9. 统计出单链表HL中结点的值等于给定值X的结点数。

解:设链表结点的数据类型为: typedef struct Node{

ElemType data; //自定义类型 struct Node *next; }Node;

假定链表的头指针为HL,如下的函数统计链表中接点值为X的结点数目: Int CountNodeX(Node * HL, ElemType x){ Int n;

Node* p=HL->next; While(p){

If(p->data==x) n++; P=p->next; }

Return p; }

11.已知非空线性链表的第一个结点的指针为head,请写一个算法,将该链表中数据域值最小的结点移动到链表的最前端。

编写的函数具有如下原型:void func(TLinkNode *head),其中链结点的结构如下: struct TLinkNode { int data; TLinkNode *next; } 请完成该算法。

12. 编写递归算法,计算二叉树中叶子结点的数目。

解:假定二叉树用二叉链表存储,并假定二叉树的结点类型定义如下 struct node { char data;

struct node *lchild, rchild; }node, BiTree*;

再假定n是一个全局整型变量,用来存放二叉树中叶子结点的数目。

如下的函数统计出二叉树t(为指向给定二叉树根的指针)中叶子结点的数目: Int CountLeafNum(BiTree t){

If(t){

CountLeafNum(t->lchild); CountLeafNum(t->lchild); If(!t->lchild && !t->rchild) n++; }

14

2016《数据结构域算法》复习题

}

15

搜索更多关于: 数据结构与算法复习题及参考答案 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

2016《数据结构域算法》复习题 if(p==NULL){ s=(Node*)malloc(sizeof(Node)); s->data=k; r->next=s; r=s i++; } } return head; } 7.设H是带表头结点的单向链表的表头指针,将链表中数值重复的结点删除。 答: LinkList DleReapeatValue(LinkList H){ Node *p=H->next,*q,*s; While(p){ s= p; q=s->next; while(q){

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com