码迷,mamicode.com
首页 > 其他好文 > 详细

2.2.3-4

时间:2019-05-22 11:25:47      阅读:107      评论:0      收藏:0      [点我收藏+]

标签:2.2.3   ||   amp   turn   判断   nbsp   \n   之间   删除   

有序顺序表中删除 s 与 t (s<t)之间的所有元素,若s 或者 t 不合理 或 顺序表为空,提示错误并返回

//删除从s到t之间的元素
/*
void Dele_s_t(Sq &L,int s,int t){
   //应该也需要判断 s 与 t 是否超过了 表长 if(s>t || s<1 || t>L.length || L.length == 0){ printf("错误\n"); return; } int k=0; for(int i=0;i<L.length;i++){ if(L.A[i]<s || L.A[i]>t){ L.A[k] = L.A[i]; k++; } } L.length = k; } 因为表的结构是顺序表 所有 从 s到t 之间的元素应该是相连的关系 只需要找到 第一个比s大 和 第一个比t大 的元素位置 之后 将两个位置之间的 元素 向前移动即可
*/ //优化删除从s_t之间的元素 void Dele_s_t(Sq &L,int s,int t){ int i,j; if(s>=t||L.length==0)return; for(i=0;i<L.length && L.A[i]<s;i++); if(i>=L.length)return; for(j=i;j<L.length && L.A[j]<=t;j++); if(j>=L.length)return;
  //将元素前移
for(;j<L.length;j++){ L.A[i] = L.A[j]; i++; } L.length = i; }

 

2.2.3-4

标签:2.2.3   ||   amp   turn   判断   nbsp   \n   之间   删除   

原文地址:https://www.cnblogs.com/qing-mo/p/10904455.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!