填空题

[说明]
函数DelXInsY(LinkedList Lx,LinkedList Ly,int key 1,int key2,int len)的功能是,将线性表X中关键码为key1的结点开始的len个结点,按原顺序移至线性表Y中关键码为key2的结点之前,若移动成功,则返回0;否则返回-1。线性表的存储结构为带头结点的单链表,Lx为表X的头指针,Ly为表Y的头指针。单链表结点的类型定义如下。
typedef struct node

int key;
struct node *next;
*LinkedList;
[C程序代码]

【参考答案】

k<len或其等价形式
(2) q=q_>next或其等价形式
(3) pres=Ly或其等价形式......

(↓↓↓ 点击下方‘点击查看答案’看完整答案、解析 ↓↓↓)
热门 试题

填空题
[说明] 某绘图系统中有两个画矩形的程序DP1和DP2。程序DP1用函数draw_a_line(x1,y1,x2,y2)画一条直线,程序DP2则用函数drawline(x1,x2,y1,y2)画一条直线。当实例化矩形时,确定使用DP1还是DP2。为了适应变化,包括“不同类型的形状”和“不同类型的画图程序”,将抽象部分与实现部分分离,使它们可以独立地变化。若将“抽象部分”对应“形状”,“实现部分”对应“画图”,与一般的接口(抽象方法)和具体实现不同,则将这种应用称为Bridge(桥接)模式。图8-10显示了该系统与矩形绘制相关的各个类之间的关系。系统始终只处理3个对象:Shape对象、Drawing对象,以及DP1或DP2对象。以下是Java语言实现,能够正确编译通过。 [Java代码] DP1.java文件 public class DP1 static public void draw a line(double x1,double y1,double x2,double y2) ... 省略具体实现 DP2.java文件 public class DP2 static public void drawline(double x1,double y1,double x2,double y2) ... 省略具体实现 Drawing. java文件 abstract public class Drawing (1) public void drawLine(double x1,double y1,double x2,double y2); V1Drawing.java文件 public class V1Drawing extends Drawing public void drawLine(double x1,double y1,double x2,double y2) DP1.draw a line(x1,y1,x2,y2); V2Drawing.java文件 public class V2Drawing extends Drawing public void drawLine(double x1,double y1,double x2,double y2) 画一条直线 (2) ; Shape.java文件 abstract public class Shape( abstract public void draw(); private (3) dp; Shape(Drawing dp) _dp=dp; protected void drawLine(double x1,double y1,double x2, double y2) (4) ; Rectangle.java文件 public class Rectangle (5) private double _x1,_x2,_y1,_ y2; public Rectangle(Drawing dp, double x1,double y1, double x2,double y2) (6) ; _x1=x2; _x2=x2; _y1=y1; _y2=y2; public void draw() … 省略具体实现