第十章 链表:链表10.1链表的基本概念:链表的基本概念
10.2单链表的基本操作:单链表的基本操作
10.3综合案例:成绩系统中链表的使用:综合案例:成绩系统中链表的使用
[单选题]若已建立下面的链表结构,指针p、s分别指向图中所示节点,则不能将s所指的节点插入到链表末尾的语句组是( )。

图片.png/

选项:[p=p->next;  s->next=p;  p->next=s;, p=p->next;  s->next=p->next;    p->next=s;,  p=(*p).next;      (*s).next=(*p).next;    (*p).next=s;, s->next=NULL;  p=p->next;  p->next=s;]
[单选题]有如下定义:

struct node   {  int data;

                  struct node *next; 

 }a,b,c;

图片.png/

选项:[a.next=b.next;, a.next =c.next; , a=c;, a.next=&b;  b.next=&c; ]
[单选题]

有以下结构体说明和变量的定义,且指针p指向结点a,指针q指向结点b。则把结点b连接到结点a之后的语句是(   )  。

struct node {

int data;

struct node *next;

}

struct node a,b,*p=&a,*q=&b;


选项:[a.next=q;, (*p)->next=q;, p.next=&b;, p->next=b;]
[单选题]

有如下定义:

struct node

{  int data;

  struct node *next; 

}a,b,c;

下列哪个答案可以将变量a,b,c在内存中的位置连接起来(    )。


选项:[a.next=&b;  b.next=&c;, a.data=&b; b.data=&c;, a.next=b.next=c.next;, a=b=c;]
[单选题]下面关于void * malloc (unsigned int size)函数描述错误的(   )。

选项:[malloc函数申请的空间若不释放,也有可能被其他程序申请, malloc()函数用来动态分配内存,所分配的空间长度为size, 若分配不成功则返回NULL, 函数的返回值为指向该区域起始地址的指针]
[单选题]

有以下结构体说明和变量定义:

struct node{

int data;

struct *next;}*p1,*q,*p2;

下面的链表中,在p1p2之间删除一个元素q,正确的操作是( 

图片.png/
选项:[p1->next=p2,p2->next=q;, p1->netx=p2->next;, p1->next=q;  q->next=p2; , p1->next=q->next;]
[单选题]在单链表指针为p的结点之后插入指针为s的结点,正确的操作是(     )。

选项:[ s->next=p->next;p->next=s; , p->next=s;p->next=s->next; , p->next=s;s->next=p->next;  , p->next=s->next;p->next=s; ]
[单选题]现有以下结构体说明和变量定义,如图所示,指针p、q、r分别指定一个链表中连续的3个结点。

struct node 

{

       double data;

       struct node*next;

}*p, *q, *r;

图片.png/

选项:[q->next=r->next; , p=r;, p->next= q->next ;, q->next=p;]
[单选题]

有以下结构体说明和变量定义:

struct node{

int data;

struct *next;}*p1,*q,*p2;

下面的链表中,在p1p2之间插入一个元素q,正确的操作是( 

图片.png/

选项:[p1->next=q;  q->next=p2; , p2->next=q;  q->next=NULL; , p1->next=p2;p2->next=q;, p1->next=q;  q->next=NULL;]
[单选题]下列关于线性链表的叙述中,正确的是(  )

选项:[进行插入和删除时,不需要移动链表中的元素, 各数据结点的存储顺序与逻辑顺序必须要一致, 其他三种说法都不对, 各数据结点的存储空间必须连续]

温馨提示支付 ¥1.00 元后可查看付费内容,请先翻页预览!
点赞(0) dxwkbang
返回
顶部