二叉搜索树的查找——递归算法:bool Find(BTreeNode BST,ElemType
二叉搜索树的查找——递归算法:bool Find(BTreeNode BST,ElemType
在单链表基体操作Status ListDelete_L(LinkList L, int i, ElemType _
在单链表基体操作Status ListDelete_L(LinkList L, int i, ElemType _
对于带头节点的单链表L1,其节点类型为LinkList,指出以下算法的功能。 void fun(LinkList *&L,ElemType x,ElemType y) { LinkList *p=L->next; while (p!=NULL) { if (p->data==x) p->data=y; p=p->next; } }
对于带头节点的单链表L1,其节点类型为LinkList,指出以下算法的功能。 void fun(LinkList *&L,ElemType x,ElemType y) { LinkList *p=L->next; while (p!=NULL) { if (p->data==x) p->data=y; p=p->next; } }
已知不带头结点的单链表L,下面用函数实现的在第一个元素前面插入值为x的元素结点的算法错误的是( ) A: void insert(List *L,elemtype x){ node d=new node(x); d.next=*L; *L=&d;} B: List * insert(List *L,elemtype x){ node d=new node(x); d.next=*L; *L=&d; return L;} C: void insert(List *L,elemtype x){ ptr p=*L; node d=new node(x); ptr q=&d; p->next=q; L=&q;} D: List insert(List *L,elemtype x){ node d=new node(x); d.next=*L; return &d;}
已知不带头结点的单链表L,下面用函数实现的在第一个元素前面插入值为x的元素结点的算法错误的是( ) A: void insert(List *L,elemtype x){ node d=new node(x); d.next=*L; *L=&d;} B: List * insert(List *L,elemtype x){ node d=new node(x); d.next=*L; *L=&d; return L;} C: void insert(List *L,elemtype x){ ptr p=*L; node d=new node(x); ptr q=&d; p->next=q; L=&q;} D: List insert(List *L,elemtype x){ node d=new node(x); d.next=*L; return &d;}
编程:已知Q是一个非空队列,S是一个空栈。编写算法,仅用队列和栈的ADT函数和少量工作变量,将队列Q的所有元素逆置。栈的ADT函数有:void makeEmpty(SqStack s); 置空栈void push(SqStack s,ElemType e); 元素e入栈ElemType pop(SqStack s); 出栈,返回栈顶元素int isEmpty(SqStack s); 判断栈空队列的ADT函数有:void enQueue(Queue q,ElemType e); 元素e入队ElemType deQueue(Queue q); 出队,返回队头元素int isEmpty(Queue q); 判断队空
编程:已知Q是一个非空队列,S是一个空栈。编写算法,仅用队列和栈的ADT函数和少量工作变量,将队列Q的所有元素逆置。栈的ADT函数有:void makeEmpty(SqStack s); 置空栈void push(SqStack s,ElemType e); 元素e入栈ElemType pop(SqStack s); 出栈,返回栈顶元素int isEmpty(SqStack s); 判断栈空队列的ADT函数有:void enQueue(Queue q,ElemType e); 元素e入队ElemType deQueue(Queue q); 出队,返回队头元素int isEmpty(Queue q); 判断队空
简述以下算法的功能(栈st和队列qu的元素类型均为ElemType)。 bool fun(SqQueue *&qu,int i) { ElemType e; int j=1; int n=(qu->rear-qu->front+MaxSize)%MaxSize; if (j[1 || j]n) return false; for (j=1;j<=n;j++) { deQueue(qu,e); if (j!=i) enQueue(qu,e); } return true; }
简述以下算法的功能(栈st和队列qu的元素类型均为ElemType)。 bool fun(SqQueue *&qu,int i) { ElemType e; int j=1; int n=(qu->rear-qu->front+MaxSize)%MaxSize; if (j[1 || j]n) return false; for (j=1;j<=n;j++) { deQueue(qu,e); if (j!=i) enQueue(qu,e); } return true; }
已知不带头结点的单链表L,下面用函数实现的在第一个元素前面插入值为x的元素结点的算法错误的是( ) A: void insert(List *L,elemtype x){ ptr p=*L; node d=new node(x); ptr q=&d; q->next=p; L=&q;} B: List * insert(List *L,elemtype x){ ptr p=*L; node d=new node(x); ptr q=&d; q->next=p; L=&q; return L;} C: void insert(List *L,elemtype x){ ptr p=*L; node d=new node(x); ptr q=&d; p->next=q; L=&q;} D: List * insert(List *L,elemtype x){ ptr p=*L; node d=new node(x); ptr q=&d; q->next=p; return &q;}
已知不带头结点的单链表L,下面用函数实现的在第一个元素前面插入值为x的元素结点的算法错误的是( ) A: void insert(List *L,elemtype x){ ptr p=*L; node d=new node(x); ptr q=&d; q->next=p; L=&q;} B: List * insert(List *L,elemtype x){ ptr p=*L; node d=new node(x); ptr q=&d; q->next=p; L=&q; return L;} C: void insert(List *L,elemtype x){ ptr p=*L; node d=new node(x); ptr q=&d; p->next=q; L=&q;} D: List * insert(List *L,elemtype x){ ptr p=*L; node d=new node(x); ptr q=&d; q->next=p; return &q;}
二叉搜索树的查找——递归算法: bool Find(BTreeNode* BST,ElemType& item) { if (BST==NULL) return false; //查找失败 else { if (item==BST->data){ item=BST->data;//查找成功 return ___________;} else if(itemdata) return Find(______________,item); else return Find(_______________,item); }//if }
二叉搜索树的查找——递归算法: bool Find(BTreeNode* BST,ElemType& item) { if (BST==NULL) return false; //查找失败 else { if (item==BST->data){ item=BST->data;//查找成功 return ___________;} else if(itemdata) return Find(______________,item); else return Find(_______________,item); }//if }
已知不带头结点的单链表L,下面用函数实现的在第一个元素前面插入值为x的元素结点的算法错误的是( ) A: void insert(List *L,elemtype x){ ptr p=*L; node d=new node(x); ptr q=&d; q->next=p; L=&q;} B: List * insert(List *L,elemtype x){ ptr p=*L; node d=new node(x); ptr q=&d; q->next=p; L=&q; return L;} C: void insert(List *L,elemtype x){ ptr p=*L; node d=new node(x); ptr q=&d; p->next=q; L=&q;} D: List * insert(List *L,elemtype x){ ptr p=*L; node d=new node(x); ptr q=&d; q->next=p; return &q;}
已知不带头结点的单链表L,下面用函数实现的在第一个元素前面插入值为x的元素结点的算法错误的是( ) A: void insert(List *L,elemtype x){ ptr p=*L; node d=new node(x); ptr q=&d; q->next=p; L=&q;} B: List * insert(List *L,elemtype x){ ptr p=*L; node d=new node(x); ptr q=&d; q->next=p; L=&q; return L;} C: void insert(List *L,elemtype x){ ptr p=*L; node d=new node(x); ptr q=&d; p->next=q; L=&q;} D: List * insert(List *L,elemtype x){ ptr p=*L; node d=new node(x); ptr q=&d; q->next=p; return &q;}
【广义表算法】假设 ElemType 为 int 型,设计一个算法[tex=6.429x1.357]2F4WQ/wg5aNekHpODSKzlg==[/tex],计算一个广 义表 $h$ 中所有原子的和。
【广义表算法】假设 ElemType 为 int 型,设计一个算法[tex=6.429x1.357]2F4WQ/wg5aNekHpODSKzlg==[/tex],计算一个广 义表 $h$ 中所有原子的和。