没有合适的资源?快使用搜索试试~ 我知道了~
数据结构C语言习题解答.pdf
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 52 浏览量
2023-09-18
22:50:47
上传
评论
收藏 817KB PDF 举报
温馨提示
试读
10页
数据结构C语言习题解答.pdf
资源推荐
资源详情
资源评论
(2) i=1; k=0;
do {
△k+=10*i;
i++;
}while(i<=n-1)
当 n=1 时,执行 1;
当 n>=2 时,执行 n-1 次;
(3) i=1; k=0;
do {
△k+ = 10*i; i++;
}while(i==n);
当 n=2 时,执行 2 次;
当 n!=2 时,执行 1 次;
(4) i=1; j=0;
while(i+j≤n) {
△ if(i<j) i++; else j++;
}
执行 n 次;
(5) x=n; y=0; //n 是不小于 1 的常数
while(x>=(y+1)*(y+1)){
△ y++;
}
执行[√n](向下取整)
(6) x=91; y=100;
while ( y>0 )
△if(x>100) { x-=10; y--; }
else x++ ;
}
If 语句执行 100 次
(7) for( i=0; i<n; i++)
for( j=i; j<n; j++)
for( k=j; k<n; k++)
△x+=2;
过程:
n 1 n 1
i 0 j i
n(n 1)(n 2)
(n j)
6
第二章
2.3 已知顺序表 La 中数据元素按非递减有序排列。试写一个算法,将元素 x 插到 La 的合
适位置上,保持该表的有序性。
思路:先判断线性表的存储空间是否满,若满返回 Error;否则从后向前先移动数据,找到
合适的位置插入。
Status Insert_SqList(SqList &La,int x)//把x 插入递增有序表La 中
{
if(L==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
试写一个算法,实现顺序表的就地逆置,即在原表的存储空间将线性表(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<j;i++,j--)
{
//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 中数据元素非递减有序排
列。
void Delete_SameElem(SqLink &L, int L.length){
//内层循环移动参数,中层循环寻找相同元,外层循环遍历整个表
int i=0; int j=i+1; int length=L.length;
while(i<length){
for(j=i+1;j<length; j++){
if(L.Elem[j]==L.Elem[i]){//
for(k=j; k<length-1; k++){
L.Elem[k]=L.Elem[k+1];
资源评论
hhappy0123456789
- 粉丝: 60
- 资源: 5万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功