2007春-2010年秋 江苏省计算机二级visual C++ 历年真(20)
发布时间:2021-06-07
发布时间:2021-06-07
江苏省计算机二级visual C++ 历年真题及答案
for(i=0; i<N; i++) cout<<b[i]<<‘\t‘; cout<<endl; }
13.下列程序中的函数change(node *pa,int x)的功能是:调整pa指向的链表中结点的 位置。根据参数X的值,使链表中各结点数据域小于X的结点放在链表的前半部,大于等于x
的结点放在链表的后半部,并将X插人这两部分结点之间。
例如,原链表上各结点的数据依次为:3,4,2,1,9,6,5,0,10,6 输入:X=7
经插入新结点后,新链表的各结点数据依次为:3,4,2,1,6,5,0,6,7,9,10 [程序](4分)
#include <iostream.h> struct node{ int data; node *next; };
node *change(node *pa,int x) {
node *pl,*p2,*P,*q; pl=p2=pa;
p=new node; //生成新结点 p->data=x:
while(p2一>data<x && p2一>next!=0){ //找到x应插入的位置 pl=p2;
( 27 ) ; }
if(p2一>next!=0)
p一>next=p2: //插入以X为数据域的结点 pl一>next=p: q=pl;
while( 28 ){ //通过循环,将插入结点之后所有数据域小于x的结点前移 if(p2一>data<x){ //数据域小于x的结点插入以x为数据域的新结点之前 pl一>next=( 29 ); p2一>next=p; q一>next=p2; q=p2;
p2=pl一>next; } else {
pl= p2;
p2=p2一>next: }
上一篇:数字电路——3.组合逻辑电路
下一篇:当量正态化的matlab程序