C语言奇偶数配对循环队列,数据结构(C语言版)习题解答

过程:n1n1

i0j i

n(n1)(n2) (n j)

6

--==

++ -=

∑∑

第二章

2.3 已知顺序表La中数据元素按非递减有序排列。试写一个算法,将元素x插到La的合适位置上,保持该表的有序性。

思路:先判断线性表的存储空间是否满,若满返回Error;否则从后向前先移动数据,找到合适的位置插入。

Status Insert_SqList(SqList &La,int x)//把x 插入递增有序表La 中

{

if(La.length==La.listsize) return ERROR;

for(i=La.length-1;La.elem[i]>x&&i>=0;i--)

La.elem[i+1]=La.elem[i];

La.elem[i+1]=x;

La.length++;

return OK;

}//Insert_SqList

2.5 试写一个算法,实现顺序表的就地逆置,即在原表的存储空间将线性表

(a

1,a

2

, ..., a

n-1

,a

n

)逆置为(a

n

,a

n-1

, ..., a

2

,a

1

)

//思路就是两个指示变量i,j同时分别从顺序表的开始和结尾处相向改变

void reverse(SqList &A)//顺序表的就地逆置

{

ElemType p;

for(i=1,j=A.length;i{

//A.elem[i]A.elem[j];

p=A.elem[i];

A.elem[i[=A.elem[j];

A.elem[j]=p;

}

}//reverse

2.7 已知线性表L采用顺序存储结构存放,对两种不同情况分别写出算法,删除L中多余的元素,使得L中没有重复元素:(1)L中数据元素无序排列;(2)L中数据元素非递减有序排列。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值