内容发布更新时间 : 2025/8/13 13:44:49星期一 下面是文章的全部内容请认真阅读。
.
va[j+1]=va[j]; va[i]=x; } n++; }
7、假设线性表采用顺序存储结构,表中元素值为整型。阅读算法f2,设顺序表L=(3,7,3,2,1,1,8,7,3),写出执行算法f2后的线性表L的数据元素,并描述该算法的功能。
void f2(SeqList *L){
int i,j,k; k=0;
for(i=0;i
for(j=0;j
if(j==k){
if(k!=i)L->data[k]=L->data[i];
}
L->length=k; }
答案:
(3,7,2,1,8) 删除顺序表中重复的元素
8、已知线性表中的元素以值递增有序排列,并以单链表作存储结构。试写一算法,
}
k++;
可编辑范本
.
删除表中所有大于x且小于y的元素(若表中存在这样的元素)同时释放被删除结点空间。 答案:
void Delete_list(Lnode *head, ElemType x, ElemType y) {Lnode *p, *q;
if(!head) return ERROR;
p=head; q=p; while(!p)
{if(p->data>x) && (p->data
if(p==head)
{head=p->next; free(p); p=head; q=p; } else
{q->next=p->next; free(p); p=q->next; }
else
{q=p; p=p->next; }
}
}
9、在带头结点的循环链表L中,结点的数据元素为整型,且按值递增有序存放。给定两个整数a和b,且a
可编辑范本
.
点。
第三章 栈和队列
一、选择题
1、一个栈的输入序列为:a,b,c,d,e,则栈的不可能输出的序列是( )。
A. a,b,c,d,e B. d,e,c,b,a C. d,c,e,a,b D. e,d,c,b,a
2、判断一个循环队列Q(最多n个元素)为满的条件是( )。
A. Q->rear==Q->front
B. Q->rear==Q->front+1
C. Q->front==(Q->rear+1)%n D. Q->front==(Q->rear-1)%n
3、设计一个判别表达式中括号是否配对的算法,采用( )数据结构最佳。
A. 顺序表
B. 链表
C. 队列
<