{
printf(\ \ p = (*p).next; break; } }
A. 显示并删除单向链表
B. 显示单向链表中的第一个结点的数据 C. 显示单向链表中的所有数据
D. 显示单向链表中除第一个结点外的所有数据 228. 若有定义: struct node { int data;
struct node *next; };
已建立如下图所示的链表:
┌─┬─┐ ┌─┬─┐ ┌─┬─┐
head →│2 │ ┼→│4 │ ┼→ ? →│28│ ┼→NULL └─┴─┘ └─┴─┘ └─┴─┘ 指针head指向链表首结点,以下函数的功能是( )。 void fun(struct node * head) { struct node * p = head; while(1)
{ p = p->next;
printf(\ \ if(p) break; } }
A. 显示单向链表中第一个结点的数据 B. 显示单向链表中最后一个结点的数据 C. 显示单向链表中的所有数据
D. 显示单向链表中除第一个结点外的所有数据 229. 若按如下定义,则函数link的功能是( )。其中head指向链表首结点,整个链表结
构如下图:
┌──┬─┐ ┌──┬─┐ ┌──┬──┐ head →│data│ ┼→│data│ ┼ → ?→│data│NULL│ └──┴─┘ └──┴─┘ └──┴──┘ struct node
-42-
{int data;
struct node *next; };
int link(struct node* head) {int k=1;
struct node *p=head; while(p!=NULL) {p=p->next; k++; }
return k-1; }
A. 删除链表head中的一个结点 B. 插入一个新元素到链表head中 C. 统计链表head中结点的个数 D. 创建新链表head
230. 若按如下定义,函数link的功能是( )。其中head指向链表首结点,整个链表结构
如下图:
┌──┬─┐ ┌──┬─┐ ┌──┬──┐ head →│data│ ┼→│data│ ┼→? → │data│NULL│ └──┴─┘ └──┴─┘ └──┴──┘ struct node {int data;
struct node *next; };
void link(struct node* head) {struct node *p=head; while(p!=NULL)
{if(p->data%2==1)
printf(\ p=p->next; } }
A. 计算链表head中结点的个数
B. 遍历链表head,输出表中值为奇数的元素 C. 删除链表head中的所有结点 D. 插入一个新元素到链表head中 231. 以下程序的输出结果是( )。
-43-
#include
struct node *next; }Node;
Node list[4]={{4,&list[1]},{3,&list[2]},{2,&list[3]},{1,0}}; void output(Node *head) {Node *p=head; while(p!=NULL)
{printf(\ p=p->next; } }
void main() {output(list); }
A. 1 2 3 4 B. 4 3 2 1 C. 3 2 1 4 D. 2 1 3 4
232. 若按以下定义: struct node {int data;
struct node *next; } *head, *p;
并已建立如下图所示的链表结构,指针p和q分别指向图中所示结点: p q ↓ ↓
┌──┬──┐ ┌──┬──┐ ┌──┬──┐ ... →│data│next┼→│data│NULL│ │data│ │ └──┴──┘ └──┴──┘ └──┴──┘ 则可以将指针q所指的结点连接到链表末尾的程序段是( )。 A. q->next=NULL; p=p->next; p->next=q; B. q->next=p->next; p=p->next; p->next=q; C. p=p->next; q->next=p; p->next=q;
D. (*q).next=(*p).next; p=(*p).next; (*p).next=q; 233. 若有定义:
-44-
struct node {int data;
struct node *next; };
float link(struct node *head) {int m=0,n=0;
struct node *p=head; while(p!=NULL) {m+=p->data; n++;
p=p->next; } if(n>0)
return 1.0*m/n; else
return 0 }
调用link函数时head是指向链表首结点的指针,整个链表结构如下图: ┌──┬──┐ ┌──┬──┐ ┌──┬──┐ head →│data│next┼→│data│next┼→...─→│data│NULL│ └──┴──┘ └──┴──┘ └──┴──┘ 则函数link( )的功能是( )。
A. 统计链表head中结点的个数
B. 遍历链表head,计算表中各结点成员data的平均值 C. 遍历链表head,计算表中各结点成员data的总和 D. 创建一个新链表head 234. 若有以下定义:
struct node {int data;
struct node *next; } *p,*q,*t;
指针p、t和q分别指向图中所示结点:
p t q
↓ ↓ ↓ ┌──┬──┐ ┌──┬──┐ ┌──┬──┐ │data│next┼→│data│next┼→│data│next┼→... └──┴──┘ └──┴──┘ └──┴──┘
-45-
相关推荐: