删除数组中特定的元素或者某一范围的元素
2016-08-28 15:11
204 查看
//删除顺序表中某范围的数
/*删除有序数组中某一段长度
//获取一个数组的长度用 sizeof(a)/sizeof(a[1]);
*/
//删除顺序表中某范围的数 #include<iostream> #include<math.h> #include<string.h> using namespace std; typedef struct { int a[100]; int length; } Seqlist; int main() { bool del_s_t(Seqlist&L,int s,int t); Seqlist l; int i; for( i=0; i<10; i++) { l.a[i]=i+1; } l.length=i; del_s_t(l,3,7); for( i=0; i<l.length; i++) { printf("%d ",l.a[i]); } printf("\n"); cout<<l.length<<endl; return 0; } bool del_s_t(Seqlist&L,int s,int t) { int i,k=0; if(L.length==0||s>=t) { return false; } for(i=0; i<L.length; i++) { if(L.a[i]>=s&&L.a[i]<=t) k++; else L.a[i-k]=L.a[i]; } L.length-=k; return true; }
/*删除有序数组中某一段长度
//获取一个数组的长度用 sizeof(a)/sizeof(a[1]);
*/
/*删除有序数组中某一段长度 //获取一个数组的长度用 sizeof(a)/sizeof(a[1]); */ #include<iostream> #include<math.h> #include<string.h> using namespace std; int main() { int a[]= {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15}; int len =sizeof(a)/sizeof(a[1]); int begin; int end; begin=3; end =7; int i; int j; for(i=0; i<len&&a[i]<begin; i++); //寻找>=begin的第一个元素 for(j=i; j<len&&a[j]<=end; j++); //寻找大于end的第一个匀速 for(; j<len; i++,j++) a[i]=a[j]; int len1 =i; for(i=0; i<len1; i++) printf("%d ",a[i]); printf("\n"); return 0; }
相关文章推荐
- LeeCode 删除数组中某一特定值的元素,并返回新的数组长度
- PHP删除数组中特定元素的两种方法
- PHP删除数组中特定元素
- **PHP删除数组中特定元素的两种方法array_splice()和unset()
- 数组中增加或者删除元素
- PHP删除数组中的特定元素的代码
- PHP删除数组中特定元素的两种方法
- PHP删除数组中的特定元素的代码
- LeeCode 删除单链表中的某一特定值元素
- 第十三周项目1-数组大折腾4删除特定的元素
- 删除数组中一个或者多个连续的元素
- PHP删除数组中的特定元素的代码
- php 数组删除特定元素以及比较两个数组的不同
- PHP删除数组中的特定元素的代码
- 由不能删除数组里面的某一元素而引起的思考
- (转载)PHP删除数组中的特定元素的代码
- PHP删除数组中特定元素的两种方法
- 在相邻元素相差1的数组中查找某一特定元素第一次出现的位置
- Remove Element(删除数组某一元素)
- CCArray数组或者vector容器元素在遍历时删除的删除技巧