顺序表习题

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
顺序表习题
题目一:设顺序表 中的数据元素 中的数据元素递增 题目一:设顺序表va中的数据元素递增 有序。试写一算法, 有序。试写一算法,将x插入到顺序表 插入到顺序表 的适当位置上,以保持该表的有序性。 的适当位置上,以保持该表的有序性。
(习题集P17 2.11) 习题集
功能解析: 功能解析: 在顺序表的插入位置 (1)查找 在顺序表的插入位置,即求 )查找x在顺序表的插入位置, a.elem[i]≤x≤ a.elem[i+1]; (2)将顺序表中的 )将顺序表中的a.length-i-1个元素 个元素 a.elem[i+1……a.length-1]后移一个位置; 后移一个位置; 后移一个位置 插入到 (3)将x插入到a.elem[i+1]且将表长 ) 插入 且将表长 a.length++;
} //Delete_k_sq
int Delete_k_sq(SqList &L,int i,int k) {
} //Delete_k_sq
int Delete_k_sq(SqList &L,int i,int k) { if(i+k>L.length||i<1||k<0)
return ERROR; for(_________________) ______________________ L.length-=k; return OK;
Status InsertOrderList(SqList &L,int x) {
}
题目二: 题目二:试写一算法实现顺序表的就地逆 即利用原表的空间, 置,即利用原表的空间,将线性表 存储为( (a1,a2,…an)存储为(an,…a2,a1) 存储为 功能解析:所谓原地逆置指的是将对应 功能解析:所谓原地逆置指的是将对应 原地逆置指的是将 位置上的元素互相交换 上的元素互相交换。 位置上的元素互相交换。
ቤተ መጻሕፍቲ ባይዱ
两个问题
交换的元素位序之间满足什么关系?
下标之间满足和为n-1 下标之间满足和为
交换的次数是多少?
L.length/2
int Reverse_Sq(SqList &L,int i,int k) { for(i=0;i<L.length/2;i++) L.elem[i]<->L.elem[L.length-1-i]; return OK; }
(选做)题目三:试写一算法从顺序表中 选做)题目三: 删除自第i个元素开始的 个元素. 个元素开始的k个元素 删除自第 个元素开始的 个元素 功能解析:所谓删除即将其后所有的元 功能解析:所谓删除即将其后所有的元 删除即将 素向前移动,这里需要移动 个位序。 移动k个位序 素向前移动,这里需要移动 个位序。 值合法, 若i、k值合法,则进行删除,返回 、 值合法 则进行删除,返回OK; 否则,返回ERROR。 否则,返回 。 注意移动的方向!!! 注意移动的方向!!!
相关文档
最新文档