1 #include <stdio.h> 2 #include <stdlib.h> 3 void del(int *a, int &n, int s, int t) 4 { 5 int i = 0; 6 while(i < n && a[i] < s) ++i; //寻找值 == s 的元素 7 8 int j = i; 9 while(j < n && a[j] <= t) ++j; //寻找值 > t 的第一个元素 10 11 for(; j < n; ++j, ++i) 12 a[i] = a[j]; //前移,填补被删元素位置 13 14 n = i;//带回元素个数 15 } 16 17 int main() 18 { 19 int arr[] = {1,2,3,4,5,6,7,8,9,10}; 20 int n = sizeof(arr)/sizeof(int); 21 22 del (arr,n,4,7); 23 24 for(int i=0; i<n; ++i){ 25 printf("%d ",arr[i]); 26 } 27 return 0; 28 }
顺序存储顺序表,删除给定值s与t之间的所有元素
猜你喜欢
转载自www.cnblogs.com/GoldenEllipsis/p/11258792.html
今日推荐
周排行