1 / 7
文档名称:

数据结构试题大题编程及参考答案.doc

格式:doc   大小:2,371KB   页数:7页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

数据结构试题大题编程及参考答案.doc

上传人:gooddoubi 2021/10/21 文件大小:2.32 MB

下载得到文件列表

数据结构试题大题编程及参考答案.doc

相关文档

文档介绍

文档介绍:数据结构试题大题编程及参考答案
数据结构试题大题编程及参考答案
数据结构试题大题编程及参考答案
数据结构考试题参考答案
1、设顺序表L中的数据元素递增有序。试写一算法,将数据元素x插入到顺序表L的适当位置,以保持该表的有序性。
解:存储结构为:
typedef  struct SeqList
{ DataType *data;
int MaxLen;
int  len;
}SeqList;
算法如下:
void insertLx(SeqList &L, DataType x)
{ if(L。len==) return;
int i=L。len—1;
while(i〉=0 && x<[i])
{ [i+1]=L.data[i]; i=i-1;}
L。data[i+1]=x; ++;
}
2、试写一个算法,在带头结点的单链表L的元素x前插入一个结点y。
解:存储结构如下:
typedef struct  Lnode
{ElemType data;
struct Lnode *next;
}Lnode,  *LinkList;
算法如下:
void insert_y_before_x(LinkList L, ElemType x, ElemType y)
{ Lnode *q, *p=L;
  while(p-〉next && p->next-〉data!=x) p=p->next; //找x的前驱结点p;
if(!p->next) return; // 若不存在结点x,则返回;
q=new Lnode;
q-〉data=y; q->next=p—>next;  p->next=q;

3、试写一个算法,统计带头指针的单链表L的元素个数。
解:存储结构如下:
数据结构试题大题编程及参考答案
数据结构试题大题编程及参考答案
数据结构试题大题编程及参考答案
typedef   struct Lnode
{ElemType data;
struct Lnode *next;
}Lnode, *LinkList;
算法如下:
int length(LinkList L)
{ int len=0;
Lnode *p=L;
while(p) { len++; p=p-〉next; }
return len;

注:如果单链表是带头结点的,则算法如下:
int length(LinkList L)
{ int len=0;
Lnode *p=L->next;;
while(p) { len++;  p=p—>next; }
return len;
}
4、试写一个算法,在带头结点的单链表L的第k个结点后插入一个结点x。
解:
存储结构如下:
typedef  struct   Lnode
{ElemType data;
struct Lnode *next;
}Lnode, *LinkList;
算法如下:
void  insert_after_k( LinkList L, int k, ElemType x)

最近更新