【单选题】【消耗次数:1】
假定一个链表的表头指针为f,结点结构为(data,next),则向该链表的表头插入一个由p所指向的结点时,应执行的操作为p-next=f和( )。
p=f-next
f=p-next
f=p
f-next=p
参考答案:
复制
纠错
相关题目
【单选题】 假定一个链表的表头指针为f,结点结构为(data,next),则向该链表的表头插入一个由p所指向的结点时,应执行的操作为p->next=f和( )。
①  p=f->next
②  f=p->next
③  f=p
④  f->next=p
【单选题】 若有以下定义:structnode{intdata;structnode*next;}structnode*p;已建立如下图所示的链表:┌──┬──┐┌──┬──┐┌──┬──┐p→│data│next┼→│data│next┼→...→│data│NULL│└──┴──┘└──┴──┘└──┴──┘指针p指向第一个结点,能输出链表所有结点的数据成员data的循环语句是()。
①  while(p!=NULL){printf("%d,",p-p++;}
②  while(p){printf("%d,",p.data);p=p-}
③  for(;p!=NULL;p++)printf("%d,",p
④  -for(;p;p=p-next)printf("%d,",(*p).data);
【单选题】 在一个链队中,假设f和r分别为队头和队尾指针,p指向一个已生成的结点,现要为该结点的数据域赋值e,并使结点入队的运算为p-data=e; p-next=NULL ; 和( )。
①  A . f-next=p; f=p;
②  B. r-next=p;r=p;
③  C. p-next=r;r=p;
④  D. p-next=f;f=p;
【判断题】 设有一个带头结点的,头指针为head的单向链表,p指向表中某一个结点,且有p-next= L,现要删除头结点,并使该单向链表构造成单向循环链表,通过操作head=head- p-next= head;。
①  正确
②  错误
【判断题】 在双向链表中,要删除p所指的结点,其中所用的一条语句(p-prior)-next=p-next;的功能是:使P所指结点的直接前驱的右指针指向P所指结点的直接后继。
①  正确
②  错误
【单选题】 若有以下定义:structnode{intdata;structnode*next;}*p,*q;已建立如下图所示的链表:┌──┬──┐┌──┬──┐...p→│data│next┼→│data│NULL│└──┴──┘└──┴──┘┌──┬──┐q→│data│next│└──┴──┘不能将指针q所指结点连到上图所示链表末尾的语句是()。
①  q-next=NULL;p=p-p-next=q;
②  p=p-p-next=q;q-next=NULL;
③  p=p-q-next=p-p-next=q;
④  q-next=p-p=p-p-next=q;
【单选题】 若有以下定义:structnode{intdata;structnode*next;}structnodem,n,k,*head,*p;已建立如下图所示的链表:mnk┌──┬──┐┌──┬──┐┌──┬──┐head→│data│next┼→│data│NULL│p→│data│next│└──┴──┘└──┴──┘└──┴──┘指针head指向变量m,m.next指向变量n,p指向变量k,不能把结点k插到m和n之间形成新链表的程序段是()。
①  p-next=head-m.next=p;
②  (*head).next=p;(*p).next=
③  head-next=p-next=head
④  -m.next=k.next=
【判断题】 设有一个带头结点的链队列,队列中每个结点由一个数据域data和指针域next组成,front和rear分别为链队列的头指针和尾指针。设p指向要入队的新结点(该结点已被赋值),则入队操作为rear-next=p; p = rear;
①  正确
②  错误
【判断题】 在双向链表中,要在p所指的结后插入q所指的结点(设q所指的结点已赋值),其中所用的一条语句(p-next)-prior=q; 的功能是使P所指结点的直接前驱的左指针指向q 。
①  正确
②  错误
【单选题】 若按如下定义,函数link的功能是()。其中head指向链表首结点,整个链表结构如下图:┌──┬─┐┌──┬─┐┌──┬──┐head→│data│┼→│data│┼→…→│data│NULL│└──┴─┘└──┴─┘└──┴──┘structnode{intdata;structnode*next;};voidlink(structnode*head){structnode*p=head;while(p!=NULL){if(p-data%2==1)printf("%d",p-p=p-}}
①  计算链表head中结点的个数
②  遍历链表head,输出表中值为奇数的元素
③  删除链表head中的所有结点
④  插入一个新元素到链表head中
随机题目
【单选题】 下列的符号常量定义中,错误的定义是()
①  const M=10;
②  const int M=20;
③  const char ch;
④  const bool mark=true;
【单选题】 由C++源程序文件编译而成的目标文件的默认扩展名为()
①  exe
②  obj
③  lik
【单选题】 以下函数的返回结果是() int function(char *x) { char *p=x; while(*p++); return(p-x-1); }
①  求字符串的长度
②  将字符串x连接到字符串p后面
③  将字符串x复制到字符串p中
④  将字符串x反向存放
【单选题】 在下面的字符数组定义中,哪一个有语法错误()
①  char a[20]=”abcdefg”;
②  char a[]=”x+y=55.”;
③  char a[15];
④  char a[10]=’5’;
【单选题】 以下说法中正确的是()
①  C++程序总是从第一个定义的函数开始执行
②  C++程序总是从main函数开始
③  C++函数必须有返回值,否则不能使用函数
④  C++程序中有调用关系的所有函数必须放在同一个程序文件中
【单选题】 程序中主函数的名字为()
①  main
②  MAIN
③  Main
④  任意标识符
【判断题】 堆栈是后进先出结构
①  正确
②  错误
【单选题】 MCS-51单片机定时器工作方式0是指的( )工作方式。
①  8位
②  8位自动重装
③  13位
④  16位
【单选题】 定时器1工作在计数方式时,其外加的计数脉冲信号应连接到( )引脚。
①  P3.2
②  P3.5
③  P3.4
④  P3.3
【判断题】 8051内部有4K的程序存储器。
①  正确
②  错误