设某带头结头的单链表的结点结构说明如下:typedef struct nodel{int data struct nod

题目
问答题
设某带头结头的单链表的结点结构说明如下:typedef struct nodel{int data struct nodel*next;}node;试设计一个算法:void copy(node*headl,node*head2),将以head1为头指针的单链表复制到一个不带有头结点且以head2为头指针的单链表中。
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

以下结构体类型说明和变量定义中正确的是

A)typedef struct

{int n; char c;} REC;

REC t1,t2;

B)struct REC;

{int n; char c;};

REC t1,t2;

C)typedef struct REC ;

{int n=0; char c='A';} t1,t2

D)struct

{int n;char c;}REC;

REC t1,t2;


正确答案:A

第2题:

有以下程序段 typedef struct node { int data; struct node *next; } *NODE; NODE p; 以下叙述正确的是( )。

A.p是指向struct node结构变量的指针的指针

B.NODE p;语句出错

C.p是指向struct node结构变量的指针

D.p是struct node结构变量


正确答案:C

第3题:

有以下程序段

typedef struct node { int data; struct node *next; } *NODE;

NODE p;

以下叙述正确的是

A)p 是指向 struct node 结构变量的指针的指针

B)NODE p ;语句出错

C)p 是指向 struct node 结构变量的指针

D)p 是 struct node 结构变量


正确答案:C

第4题:

已知bead指向一个带头结点的单向链表,链表中每个结点包含数据域(data)和指针域(next),数据域为整型。以下函数求出链表中所有连接点数据域的和值作为函数值返回。请在横线处填入正确内容。

{ int data; struct link *next;}

main()

{ struct link *head;

sam(______);

{stmct link *p;int s=0;

p=head->next;

while(p){s+=p->data;p=p->next;}

return(s);}


正确答案:

第5题:

设有以下说明语句

typedef struct

{ int n;

char ch[8];

} PER;

则下面叙述中正确的是

A.PER 是结构体变量名

B.PER是结构体类型名

C.typedef struct 是结构体类型

D.struct 是结构体类型名


正确答案:B
解析:本题中,typedef声明新的类型名PER来代替已有的类型名,PER代表上面指定的一个结构体类型,此时,也可以用PER来定义变量。

第6题:

设计递归算法,判断二叉树t是否满足小根堆的特点。二叉链表的类型定义如下:

typedef int datatype;        //结点的数据类型,假设为int

typedef struct NODE *pointer; //结点指针类型

struct NODE {

datatype data;

pointer lchild,rchild;

};

typedef pointer bitree;     //根指针类型


答案:   void moves(sqlist *L) {    int i,j; datatype x;    i=1;j=L->n;     while(i< j) {        while(L->data[i]< 0 && i< j) i++;        while(L->data[j]>=0 && i< j) j--;       if(i< j) {           x=L->data[i];L->data[i]=L->data[j];L->data[j]=x;           i++;j--;        }    } }

第7题:

以下程序把三个NODETYPE型的变量链接成一个简单的链表,并在while循环中输出链表结点数据域中的数据,请填空

#include <stdio.h>

struct node

{int data; struct node *next;};

typedef struct node NODETYPE;

main()

{NODETYPE a,b,c,*h,*p;

a. data=10;b.data=20;c.data=30;h=&a;

b. next=&b;b.next=&c;c.next=’\0’;

p=h;

while(p){printf(“&d”,p->data);【15】;}

}


正确答案:

15p=p—>next

第8题:

函数 main() 的功能是 : 在带头结点的单链表中查找数据域中值最小的结点 . 请填空

#include <stdio.h>

struct node

{ int data;

struct node *next;

};

int min(struct node *first)/* 指针 first 为链表头指针 */

{ strct node *p; int m;

p=first->next; m=p->data;p=p->next;

for(;p!=NULL;p= _[20]_______ )

if(p->data<m) m=p->data;

return m;

}


正确答案:

第9题:

以下程序中函数fun的功能是:构成一个如图所示的带头结点的单词链表,在结点的数据域中放入了具有两个字符的字符串。函数disp的功能是显示输出该单链表中所有结点中的字符串。请填空完成函数disp。[*]

include<stdio.h>

typedef struct node /*链表结点结构*/

{char sub[3];

struct node *next;

}Node;

Node fun(char s) /*建立链表*/

{ … }

void disp(Node *h)

{ Node *


正确答案:

第10题:

在C语言中,可以用typedef声明新的类型名来代替已有的类型名,比如有学生链表结点: typedef struct node{ int data; struct node * link; }NODE, * LinkList; 下述说法正确的是______。

A.NODE是结构体struct node的别名

B.* LinkList也是结构体struct node的别名

C.LinkList也是结构体struct node的别名

D.LinkList等价于node*


正确答案:A
解析:其实题中的定义相当于下述两个定义:typedefstructnode{intdata;structnode*link;}NODE;typedefstructnode{intdata;structnode*link;)*LinkList;前者给structnode取了个新名字NODE,即structnode和NODE是等价的;后者把structnode*命名为LinkList。

更多相关问题